您好,登錄后才能下訂單哦!
mysql想必很多程序猿都是不陌生的。很多人在糾結count的用法,怎么樣才能查詢效果最好。今天來談談小編的一些看法,僅供參考。
1、咱們先準備建一個表,并準備好測試數據方便后續步驟測試
以InnoDB引擎表為例
建表語句如下
CREATE TABLE test.test ( a VARCHAR(50) NOT NULL COMMENT 'ddfdf', b VARCHAR(15) NOT NULL COMMENT 'fds', c VARCHAR(20) NOT NULL COMMENT 'asda', d VARCHAR(8) NOT NULL COMMENT 'ads', e longblob NOT NULL COMMENT 'asda', f VARCHAR(2000) COMMENT 'ads', g VARCHAR(8) NOT NULL COMMENT 'assd', h DATE NOT NULL COMMENT 'adsad', z VARCHAR(10) NOT NULL COMMENT 'adsd' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、登陸到mysql并且換數據庫
執行建表語句如下圖所示
3、然后是準備測試數據,簡單查一下是否有數據,如下圖所示
4、接下來開始做測試
在沒有where條件的情況下
有人覺得count(*)比count(字段)要快,還有人覺得count(字段)比count(*)要快?
那到底那個快,咱們一試便知,請看下圖
根據圖中結果顯示,明顯count(字段)快一些
5、那在有where條件的情況呢?count(*)和count(字段)誰更快?
請看下圖執行效果
count(*)快一點,可能是數據量太少看不出太明顯的效果
6、當然可以通過查看執行計劃進行分析
在執行的sql前面加上desc或者explain即可,如下圖所示
最后總結一下1.在沒有where條件下,建議count(字段)2.在有where條件的情況下,建議count(*)最后總結一下1.在沒有where條件下,建議count(字段)2.在有where條件的情況下,建議count(*)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。