除了SQLite之外,是否有任何适用于Windows运行时的数据库解决方案
本文关键字:运行时 Windows 数据库 解决方案 适用于 任何 之外 SQLite 是否 除了 | 更新日期: 2023-09-27 18:34:06
我有大约 1000 - 5000 条记录,并希望将它们保存在数据库中以便快速访问。
我在Windows Phone Runtime中使用了SQLite,但它非常慢,每秒只有2-3次插入。
我想知道是否存在比SQLite更快的其他数据库解决方案?
我认为答案是 - 简而言之 - 不。
Microsoft在引入Windows Store应用程序时放弃了旧的LINQ to SQL。该功能仅适用于 Silverlight 应用程序。
到目前为止,SQLite是唯一的出路(imo(。但我在这里看到了很大的优化空间。如果您只设法在 1 秒内插入 2-3 条记录,则瓶颈不应该是 SQLite。如果编写了使用 SQLite 的应用程序,并在检测信号内将 10-20 条记录推送到数据库中。
我对你的代码了解不多,但从你的速度问题来看,你一定有一些非常复杂的映射。如果代码优化没有帮助,您应该尝试松散一些原子性并组合一些嵌套对象,以便更快地查询。
速度还可能取决于您使用的包装器。SQlite-WinRT(https://www.nuget.org/packages/Sqlite-Winrt/(是更普通的SQL,而SQLite-Net(https://github.com/praeclarum/sqlite-net(映射你的对象。
当然,您始终可以编写自己的存储。将每个实体的 JSON 文件写入漫游设置,即可并行保存对象及其所有嵌套实体。如果它只是在中间没有太多阅读的情况下写入,则不应遇到并发问题。JSON.Net (http://james.newtonking.com/json( 非常快,可以立即序列化您的对象。
最后但并非最不重要的一点是:您可以选择一个可以节省一些插入查询的解决方案:将对象序列化为 json 并将它们放在一个表中。在实际使用它之前,我会对该解决方案进行基准测试,因为它不是很漂亮。
但是:你可能想在拔出大枪之前先向我们展示你的代码。