这两个sql count语句之间是否有很大的性能差异,当执行大量计数时(此处大,表示100k +记录)
第一
SELECT count(*) FROM table1 WHERE <some very complex conditions>
第二
SELECT count(*) FROM (SELECT * FROM table1 WHERE <some very complex conditions>) subquery_alias
我知道第一种方法是正确的,但我想知道这些陈述是否会表现相似?
答案 0 :(得分:2)
查询优化器很可能会将您的第二个查询转换为第一个查询。这两个查询之间不应存在可衡量的性能差异。
答案 1 :(得分:0)
答案取决于使用的数据库。对于MS SQL,查询优化器将优化查询,两者都具有相似的性能。但对于其他数据库系统,它取决于查询优化器的智能。