我的开发人员目前正在使用 Xamarin 编写适用于 iOS 的应用程序。我们正在使用 sqlite 来存储我们的数据。
现在我们有一个屏幕,在 UITableView
中显示一个完整的 sqlite 表。该表中有 16000 行,SELECT * FROM table
需要 3 秒才能完成。
有没有办法加快这个查询?索引无济于事,因为我们无论如何都需要获取所有列。
最佳答案
您需要同时查看所有 16000 行吗?如果您分批获得结果怎么办?选择一个适合您的情况且更易于管理的数字 - 我将任意选择 2000。您可以:获取前 2000,然后在幕后分批加载剩余的;或者您可以为用户实现无限滚动或手动按钮以“加载更多”。我不确定您的应用程序做什么或您的用例是什么(它可能是完全有效的),但 16000 条记录似乎太多了,用户无法一次以有用的方式与之交互。
您能否提供更多关于您的屏幕正在做什么或为什么显示所有这些记录的详细信息,也许我们可以想出更好的解决方案?
编辑:
(这些无限滚动的例子使用的是 MVVM 架构)
这是 my application 中的一个实现.
James Montemagno(Xamarin Evangelist)有一个 good blog post关于它。 (这就是我获得灵感的地方。)
关于Xamarin Forums的讨论.
关于c# - Xamarin.iOS 上的 sqlite 中的缓慢 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33525385/