您的位置:首页 > 数据库 > MySQL

mysql中select的count星和count1有区别么

2015-12-17 11:23 495 查看
http://my.oschina.net/zimingforever/blog/76457

之前一直都任务select count(1) from tab的效率要高于count(*),今天看了下执行计划才发现原来一直都是一个误解,mysql的优化器会自动转换。

直接上例子

?
?
执行到这里我发现本机的mysql不显示wraning,我这里直接贴一个同事的测试结果

?
show waring时发现select count(*) 会自动转换成count(0), 但是count某一个字段的时候就不会有这种优化了。

另外这里在贴下sql审核时什么时候要waring下

1、全表扫描

2、count(字段名) 非 count(*)

3、like

4、select *

5、oracle:用 outer join

6、查询时使用timestamp变量

总结一下,count星效率不低,mysql优化器会自动优化,另外有个waring要在自动审核时check下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: