中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql中如何優化select count

發布時間:2022-01-14 16:04:18 來源:億速云 閱讀:172 作者:小新 欄目:數據庫

這篇文章主要介紹了Mysql中如何優化select count,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1.任何情況下SELECT COUNT(*) FROM tablename是最優選擇;

2.盡量減少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 這種查詢;

3.杜絕SELECT COUNT(COL) FROM tablename的出現。

COUNT(*)與COUNT(COL)

網上搜索了下,發現各種說法都有:

比如認為COUNT(COL)比COUNT(*)快的;

認為COUNT(*)比COUNT(COL)快的;

還有朋友很搞笑的說到這個其實是看人品的。

在不加WHERE限制條件的情況下,COUNT(*)與COUNT(COL)基本可以認為是等價的;

但是在有WHERE限制條件的情況下,COUNT(*)會比COUNT(COL)快非常多;

具體的數據參考如下:

> SELECT COUNT(*) FROM cdb_posts where fid = 604;

+————+

| COUNT(fid) |

+————+

| 79000 |

+————+

1 row in set (0.03 sec)

mysql> SELECT COUNT(tid) FROM cdb_posts where fid = 604;

+————+

| COUNT(tid) |

+————+

| 79000 |

+————+

1 row in set (0.33 sec)

mysql> SELECT COUNT(pid) FROM cdb_posts where fid = 604;

+————+

| COUNT(pid) |

+————+

| 79000 |

+————+

1 row in set (0.33 sec)

COUNT(*)通常是對主鍵進行索引掃描,而COUNT(COL)就不一定了,另外前者是統計表中的所有符合的紀錄總數,而后者是計算表中所有符合的COL的紀錄數。還有有區別的。

COUNT時的WHERE

簡單說下,就是COUNT的時候,如果沒有WHERE限制的話,MySQL直接返回保存有總的行數

而在有WHERE限制的情況下,總是需要對MySQL進行全表遍歷。

優化總結:

1.任何情況下SELECT COUNT(*) FROM tablename是最優選擇;

2.盡量減少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 這種查詢;

3.杜絕SELECT COUNT(COL) FROM tablename的出現。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Mysql中如何優化select count”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

右玉县| 志丹县| 新闻| 彰化县| 珲春市| 图们市| 蚌埠市| 朝阳县| 旬邑县| 新邵县| 无锡市| 花莲市| 团风县| 侯马市| 郴州市| 芦溪县| 丹凤县| 怀柔区| 咸宁市| 北碚区| 平山县| 扎鲁特旗| 枞阳县| 独山县| 亚东县| 瓦房店市| 上虞市| 西华县| 莒南县| 安徽省| 彩票| 永靖县| 贵定县| 禹城市| 民县| 晋州市| 毕节市| 铁岭市| 布尔津县| 电白县| 汉中市|