成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MySQL InnoDB引擎的count處理及count(*)和count(1)區(qū)別

aikin / 456人閱讀

摘要:不討論引擎,在和引擎下的區(qū)別是基礎(chǔ)的區(qū)別。如果索引記錄不完全在緩沖池中,則處理選擇語句需要一些時間。引擎以同樣的方式處理和,兩者沒有性能差異。

不討論 MyISAM 引擎,countMyISAMInnoDB 引擎下的區(qū)別是基礎(chǔ)的區(qū)別。

文檔地址:https://dev.mysql.com/doc/ref...

翻譯:
InnoDB 引擎并不在一個表中保存行內(nèi)計數(shù),因為并發(fā)事務(wù)會在相同時間看到不同的行數(shù)。因此, SELECT COUNT(*) 語句只計算當(dāng)前事務(wù)可見的行數(shù)。

MySQL 5.7.18 版本之前, InnoDB 引擎通過掃描聚簇索引來處理 SELECT COUNT(*) 語句,在 MySQL 5.7.18 版本中,如果存在一個更小的二級索引, InnoDB 會橫向讀取這個來執(zhí)行 SELECT COUNT(*) 語句。

如果索引記錄不完全在緩沖池中,則處理選擇 SELECT(*) 語句需要一些時間。為了更快的計數(shù),您可以創(chuàng)建一個計數(shù)器表,并讓您的應(yīng)用程序按插入和刪除操作更新它。然而,這種方法在同一計數(shù)器表中啟動成千上萬個并發(fā)事務(wù)的情況下,可能無法很好地擴展。如果近似行計數(shù)足夠,則可以使用 SHOW TABLE STATUS 語句。
InnoDB 引擎以同樣的方式處理 SELECT COUNT(*)COUNT(1),兩者沒有性能差異。

翻譯自官方文檔,肯定權(quán)威

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22854.html

相關(guān)文章

發(fā)表評論

0條評論

aikin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<