背景,mysql 一個表,innodb,資料3千萬+,配合索引查詢資料的速度還可以
--------------------------------------------------------------------------------
問題:在管理端頁面,做分頁查詢時,需要先取總資料量,然后計算總頁數。
取總資料量時 select count(*) from table_name,耗時在15s,有沒有辦法優化到0.5s以內。
如果不行的話,就考慮不做計算總頁數了,只做上一頁和下一頁。
uj5u.com熱心網友回復:
3千萬的資料不會全部要看吧,分頁是必須得,至于這個總數看你怎么搞了,coun慢你可以放到session里,或者程式初始化中,或者建個存盤程序,反正不要讓用戶去count這個數;分頁一定要把最新的資料排在第一頁
uj5u.com熱心網友回復:
對該表的最短欄位,做個索引,然后count該欄位試試uj5u.com熱心網友回復:
count(主鍵)uj5u.com熱心網友回復:
結果差不多,甚至會更差
uj5u.com熱心網友回復:
use information_schema;select table_name,table_rows from tables
where TABLE_SCHEMA = 'testdb'
order by table_rows desc;
這是個估計數,并不保證完全準確。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/90986.html
標籤:MySQL
上一篇:mysql group by 查詢的欄位如果不用聚合函式,是怎么保留的?
下一篇:Mysql
