sql - 使用 SQL COUNT 函数或直接执行搜索查询更有效
问题描述
假设我有一个非常大的数据库,如果我直接执行搜索查询然后计算返回的行会更快吗?或使用 COUNT(searchquery) 然后开始执行查询,如 ->
SELECT *
FROM TABLE
WHERE bla='blabla'
OFFSET 0 FETCH NEXT 20 ROWS ONLY
我搜索了它,但找不到任何解决方案。
解决方案
在数据库中进行计数!它会快得多。
首先,acount(*)
只返回一行和一个值。这比返回所有行要少得多,而且速度要快得多。
其次, acount(*)
不引用 中的任何列select
,因此可以更好地优化查询。无需查看数据页即可获得计数。
推荐阅读
- c# - LINQ - 合并父子数据
- python - How to efficiently produce a masked array of 0s and 1s from a 2d numpy array?
- regex - 正则表达式匹配特定行中的数字
- javascript - 在子组件中具有两个文本输入的 V 模型
- javascript - React - 在 Promise.all 之后未触发 setTimeout() 方法
- python - 使用命名元组输出特定数据
- php - 通过计算它们的关系来过滤元素 Laravel5
- php - 这个命令处理程序是可测试的吗?
- python - Python tqdm 进度条块 winsound
- reactjs - 尝试使用 react-select 将我的默认占位符的颜色更改为黑色,但不起作用