情况如下:
我首先需要运行查询以了解存在多少条记录。
例如:
SELECT COUNT(DISTINCT userid) from users;
通常这就是所有需要的。但是,有时(比如 30% 的时间)在第一次查询之后,用户会想要运行第二次查询,详细说明记录。
例如:
SELECT * FROM users;
是否有任何理由SELECT COUNT
最初运行而不是仅仅运行SELECT
运行?也就是说,让 SQL 中的记录计数比实际拉回记录要快吗?还是它在本质上做同样的工作,所以我应该避免做两个查询?
换句话说,总是在第一个查询中提取记录(而不是 use COUNT
)是否更好,然后在代码中计算记录(Java)。如果用户想要运行第二个查询,那太好了,我已经有了数据。如果没有,那就扔掉它。
这里的最佳做法是什么?