近日需要對一張mysql表進行分表,先查一下它目前的資料量,沒多想直接使用了以下sql,id為主鍵,看起來好像沒什麼問題,沒想到由於資料量太大,跑出來結果需要很久很久。
select count(id) from table_name;
可以從mysql自帶的information_schema庫里檢視相關資訊。
// 登入資料庫
// 切換information_schema資料庫
use information_schema;
// 查詢要查的表資訊:行數、物理空間大小等等
select * from tables where table_name = 'table_name' \g;
樣例:
當前資料表所佔物理空間 = 資料所佔空間 + 索引所佔空間,所以當前表的物理空間大小為14.8g
MySQL資料量大時,delete操作無法命中索引
最近,在脈脈上看到乙個樓主提出的問題 mysql資料量大時,delete操作無法命中索引 並且還附上了相關案例截圖。最終,樓主通過開啟mysql分析優化器追蹤,定位到是優化器搞的鬼,它覺得花費時間太長。因為我這個是測試資料,究其原因是因為資料傾斜,導致計算出的資料佔比較大 花費時間長。大家要記住一點...
Mysql分頁,資料量大時limit優化
mysql的優化是非常重要的。其他最常用也最需要優化的就是limit。mysql的limit給分頁帶來了極大的方便,但資料量一大的時候,limit的效能就急劇下降。同樣是取10條資料 select from order limit 10000,10 select from order limit 0...
mysql 單錶資料量大時,如何增加查詢速度
首先引用mysql手冊中的一段話 mysql 3.22限制的表大小為4gb。由於在mysql 3.23中使用了myisam儲存引擎,最大表尺寸增加到了65536tb 2567 1位元組 由於允許的表尺寸更大,mysql資料庫的最大有效表尺寸通常是由作業系統對檔案大小的限制決定的,而不是由mysql內...