在执行大计数时,这两个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
WHERE Bar <> 1 AND ID = 187)假设上面的查询都是有效的,并且具有相同的行为(我知道它们在某些触发器或其他数据库活动中的行为可能不同第二个查询看起来性能更好,写入更少,但我假设SQL足够智能来优化这一点。
第三个查询将执行2次查找/扫描/等,以查找如果Bar <>为1的行,但在它已经为1的情况下,它可能会更快。