mysql count 統計數據行數速度慢的解決方案


問題描述:

  有一個mysql數據表,想去統計一下具體有多少行數據,於是就使用了 SELECT COUNT(url_id) FROM `spider_71_ggzy_zgzfcgw_content`    查詢了好久也沒有出來,有什么解決辦法呢?

  

 

查詢速度慢的 原因是什么?

  innodb引擎在統計方面和myisam是不同的,Myisam內置了一個計數器,所以在使用 select count(*) from table 的時候,直接可以從計數器中取出數據。而innodb必須全表掃描一次方能得到總的數量。

 解決方案一:使用索引查詢數據

  

 

 

我們添加了添加查詢 WHERE url_id > 0,查詢速度20s就出來結果了。url_id 是 NORMAL 索引類型

 

解決方案二:

  好多時候查詢不如下載數據,這次我們用下載代替查詢。

  

 

 

153s出結果,速度相對於全掃描查詢快多了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM