在最初处理查询时,SQLite不会"获取"所有行.每次执行准备好的查询时,它都返回一行.
从这里的SQLite3常见问题解答
问)哪个func可以得到行数?
A)没有函数来检索结果集中的行数.SQLite事先不知道该数字,但在遍历表时逐行返回.应用程序可以根据需要在每个成功的sqlite3_step()处递增行计数器.
一些包装器能够收集内存表中结果集中的所有行,因此它们可以返回行数.
您始终可以获得某些SELECT语句将以某些性能为代价返回的行数:
BEGIN IMMEDIATE TRANSACTION;
SELECT COUNT(*) FROM x WHERE y;
SELECT a,b,c FROM x WHERE y;
ROLLBACK TRANSACTION;
Run Code Online (Sandbox Code Playgroud)
您必须在事务中包装它以防止其他连接在两个SELECT语句之间插入/删除行.
| 归档时间: |
|
| 查看次数: |
5926 次 |
| 最近记录: |