假设表中存在主要字段"id"(如速度等),以下查询之间是否存在差异?
SELECT COUNT(id)
FROM table
Run Code Online (Sandbox Code Playgroud)
与
SELECT COUNT(*)
FROM table
Run Code Online (Sandbox Code Playgroud)
Pas*_*ent 19
看看www.mysqlperformanceblog.com 上的Count(*)vs Count(col),他们讨论了各种'col'类型(NOT NULL或不带索引等)的这个主题,以及MyISAM和InnoDB表.
我知道这个问题是关于 MySQL 的,但就其价值而言,count(*)建议使用 Oracle,这表明这个问题的答案可能取决于数据库(请参阅上面来自 BalusC 的评论)。
由于许多数据库(MS-SQL、MySQL)都有保存各种类型元数据的信息模式表,因此如果一种语法只是查找现成的值,而另一种语法是直接查找表,那么必然会存在差异。
归根结底:尝试不同的选择,看看 EXPLAIN 告诉您幕后发生了什么。
| 归档时间: |
|
| 查看次数: |
41184 次 |
| 最近记录: |