MySQL 記錄數多(資料量大)時可能引起的問題

2021-08-24 23:01:49 字數 1313 閱讀 1552

the total number of locks exceeds the lock table size.

感覺innodb引擎的表讀取速度不如myisam…

於是我要把innodb的資料全部匯入myisam的表。

insert into t_data_myisam (select * from t_data_innodb);

執行了一段時間以後,資料庫報錯:the total number of locks exceeds the lock table size。

參考一篇很詳細的文章:innodb: 設定最佳記憶體值

innodb緩衝池實際上用於多個目的,它用來:

* 資料快取 – 這絕對是它的最重要的目的

* 索引快取 – 這使用是的同乙個緩衝池

* 緩衝 – 更改的資料(通常稱為髒資料)在被重新整理到硬碟之前先存放到緩衝

* 儲存內部結構 – 一些結構如自適應雜湊索引或者行鎖也都儲存在innodb緩衝池

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資料量大小查詢

找到information schema 資料庫 存放了其他的資料庫的資訊 a 伺服器中登入並進入information schema use information schema b 使用第三方工具找到庫,查詢即可 1 查詢所有資料的大小 示例以mb為單位 select concat round ...