我在我的项目中使用sqlite3数据库。为此我可以使用以下查询“select * from tablename”来从数据库中检索数据..
但是我想从数据库中获取100个序列记录,比如如果我根据我想要的100个记录来滚动UITableView。
我试过以下的事情, SELECT * FROM mytable ORDER BY record_date DESC LIMIT 100; - 它只回收100条记录。当我滚动表格时,我想获取接下来的100条记录并显示它。
是否可以这样做
请指导我。
答案 0 :(得分:1)
您可以简单地使用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。