iOS Sqlite数据库 - 批处理批量记录
问题描述:
我在我的项目中使用sqlite3数据库。为此,我可以从数据库中检索数据,使用以下查询“select * from tablename”..iOS Sqlite数据库 - 批处理批量记录
但是我想从数据库中取出一百个序列记录,就像我滚动UITableView基于我想要取100 100条记录。
我试过以下东西, SELECT * FROM mytable ORDER BY record_date DESC LIMIT 100; - 它只回收100条记录。当我滚动表格时,我想取下100条记录并显示它。
是否有可能做到这一点
请指导我。
答
您可以简单地使用OFFSET
clause,但这仍然会强制数据库计算您正在跳过的所有记录,因此对于较大的表而言,这将变得效率低下。
你应该做的是保存前一页面的最后record_date
值,并继续执行下面的:
SELECT *
FROM MyTable
WHERE record_date < ?
ORDER BY record_date DESC
LIMIT 100
将'OFFSET#'子句添加到查询的末尾。请参阅http://www.sqlite.org/lang_select.html#orderby – rmaddy