使用SQL COUNT函数或直接执行搜索查询,效率更高



假设我有一个很大的数据库,如果我直接执行搜索查询,然后计算返回的行,会更快吗?或者使用COUNT(searchquery(,然后开始执行类似->

SELECT *
FROM TABLE
WHERE bla='blabla'
OFFSET 0 FETCH  NEXT 20 ROWS ONLY

我找了一下,但找不到任何解决办法。

在数据库中进行计数!它会快得多。

首先,count(*)只返回一行和一个值。这比返回所有行要少得多,速度也快得多。

其次,count(*)不引用select中的任何列,因此可以更好地优化查询。也许可以在不查看数据页的情况下获得计数。

看起来您正在进行分页。你需要总计数来显示总计数并向用户计算总页数,是吗?

Than Gordon的答案是可以使用的。

最新更新