SELECT COUNT(*) 会造成全表扫描?

1 min read

不一定。如果在 SELECT COUNT(*) 后面的语句中没有 WHERE 子句,那么它是一个简单的聚合查询,可以使用索引执行,而不需要全表扫描。但是,如果有 WHERE 子句并且没有合适的索引,那么查询将需要扫描整个表来找到符合条件的行,这将是一个全表扫描。