iOS Sqlite数据库 - 批处理批量记录

问题描述:

我在我的项目中使用sqlite3数据库。为此,我可以从数据库中检索数据,使用以下查询“select * from tablename”..iOS Sqlite数据库 - 批处理批量记录

但是我想从数据库中取出一百个序列记录,就像我滚动UITableView基于我想要取100 100条记录。

我试过以下东西, SELECT * FROM mytable ORDER BY record_date DESC LIMIT 100; - 它只回收100条记录。当我滚动表格时,我想取下100条记录并显示它。

是否有可能做到这一点

请指导我。

+1

将'OFFSET#'子句添加到查询的末尾。请参阅http://www.sqlite.org/lang_select.html#orderby – rmaddy

您可以简单地使用OFFSET clause,但这仍然会强制数据库计算您正在跳过的所有记录,因此对于较大的表而言,这将变得效率低下。

你应该做的是保存前一页面的最后record_date值,并继续执行下面的:

SELECT * 
FROM MyTable 
WHERE record_date < ? 
ORDER BY record_date DESC 
LIMIT 100 

详见https://www.sqlite.org/cvstrac/wiki?p=ScrollingCursor