mysql之count(主鍵) count(*) count(1)性能的謠傳

如果你要統計行數就用count(*)或者count(1),推薦前者

如果要統計某個字段不爲NULL值的個數就用count(字段)

1.當mysql確認括號內的表達式值不可能爲空時,實際上就是在統計行數

2.如果mysql知道某列col不可能爲NULL值,那麼mysql內部會將count(col)表達式優化爲count(*)

這2句話出自<<高性能MySQL>>一書

也就是說count(1)和count(主鍵字段)還是要優化到count(*)的

3.InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way. There is no performance difference.

這句話出自官方文檔,地址爲https://dev.mysql.com/doc/ref...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章