SQLite:优化计数

时间:2011-09-26 14:43:15

标签: sqlite optimization count

在我的应用中,我需要显示搜索结果。它获取前250个结果,但也需要显示结果总数。

这减慢了一切,因为我不能在前250行之后停止获取结果,我需要遍历它们所有(数百万)才算数。

另一种方法是在前250行之后退出循环,然后再执行第二次COUNT()查询。但是一些快速基准测试显示COUNT()查询没有利用它之前执行过相同查询的事实。

有没有办法优化这样的场景?如果我将计数和提取结合在一个查询而不是两个单独的查询中会有帮助吗?如果是这样,我该怎么做?

修改:抱歉,重复How do I count the number of rows returned in my SQLite reader in C#?

1 个答案:

答案 0 :(得分:0)

如果这是在一个表中,您可以使用触发器来更新计数。

每个插入触发器递增计数;每个删除触发器都会减少它。

请参阅this similar SO question & answer