在我的一个应用程序中,我正在使用Dexie(IndexedDb),但它实际上比我预期的要慢得多,也更麻烦,并且经过一些试验,我正在考虑切换为使用LocalSettings
容器
我的第一个dexie表代表Items,它具有约85,000行,其中包含Description,ItemNo,ItemCode,Category,Price和'DealPrice'列
第二个表用于条形码,它有98,000行,其中列BarcodeNo,ItemNo和ItemCode
如果我将LocalSettings
容器用于物品并将条形码容器用于容器,那么LocalSettings
会容纳太多数据吗?
答案 0 :(得分:1)
LocalSettings
没有指定的限制,但实际上它们被序列化为应用程序数据文件夹中的文件。因此,我不希望使用它们比实际的数据库具有更高的性能。它们更适合诸如“首选项”或配置之类的事物,这些事物很少被更改或查询。实际上,I have written关于访问设置本身会产生一定的成本并且需要缓存的事实。
我建议考虑使用SQLite或LiteDB。只要您有效地处理数据,两者都应该非常有效。
我没有注意到这个问题被标记为winjs,而不是C#。建议的两种解决方案也可以在HTML + JS UWP应用程序中使用,但将需要另一层间接性(基于C#的Windows运行时组件)。在这种情况下,我建议尝试调查为什么IndexedDb对您比较慢的原因(因为100,000个条目仍应具有合理的性能)。 IndexedDb作为本机API应该具有出色的性能。