【Mysql】 count() 慢問題

不一樣引擎中,count(*)有不一樣的實現方式redis MyISAM:把一個表的總行數存在了磁盤,所以在獲取行數時候直接返回,效率高。若是加where條件就不能返回這麼快。數據庫 InnoDB:須要一行行從引擎裏面讀出來,累計計數,由於事務的支持因此經過MVCC併發控制,讀取行數時候據須要一行行的讀出來判斷。緩存 MySQL優化器會找到最小的那棵樹來遍歷,在保證邏輯正確的前提下,儘可能減小掃描
相關文章
相關標籤/搜索