我有一个约有10万行的表格。我正在使用LIMIT OFFSET选择400行,以选择需要选择的行集。
检索所有数据后,从第一次调用sqlite3_step
到调用sqlite3_reset
到我的select语句最多需要100毫秒的时间。虽然UI滞后是不希望的,但可以忍受。我担心的是,选择将阻止多长时间将一个单独的进程添加到表中。
该选择是否阻止写到sqlite3_reset
或允许写得更快?
我的查询格式为:
SELECT LOTS OF COLUMNS
FROM a
ORDER BY a.primarykey
LIMIT 400
OFFSET ?
我发现OFFSET
变大时变慢。因此,对于这种简单的情况,我可以将其替换为WHERE
上的a.primarykey
子句。
不幸的是,我还有一种情况,我需要在过滤后挑选出一组行。那时,主键已不足以选择行。