mysql千萬級資料大表該如何優化

2022-09-27 11:27:10 字數 932 閱讀 1437

1.資料的容量:1-3年內會大概多少條資料,每條資料大概多少位元組;

2.資料項:是否有大字段,那些欄位的值是否經常被更新;

3.資料查詢sql條件:哪些資料項的列名稱經常出現在where、group by、order by子句中等;

4.資料更新類sql條件:有多少列經常出現update或delete 的where子句中;

5.sql量的統計比,如:程式設計客棧select:update+delete:insert=多少?

6.預計大表及相關聯的sql,每天總的執行量在何數量級?

7.表中的資料:更新為主的業務 還是 查詢為主的業務

8.打算採用什麼資料庫物理伺服器,以及資料庫伺服器架構?

9.nssws併發如何?

10.儲存引擎選擇innodb還是myisam?

大致明白以上10個問題,至於如何設計此類的大表,應該什麼都清楚了!

至於優化若是指建立好的表,不能變動表結構的話,那建議innodb引擎,多利用點記憶體,減輕磁碟io負載,因為io往往是資料庫伺服器的瓶頸

另外對優化索引結構去解決效能問題的話,建議程式設計客棧優先考慮修改類sql語句,使他們更快些,不得已只靠索引組織結構的方式,當然此話前提是,

索引已經建立的非常好,若是讀為主,可以考慮開啟query_cache,

以及調整一些引數值:sort_buffer_size,read_buffer_size,read_rnd_buffer_size,join_buffer_size

其他人建議:

1. 索引, 避免掃瞄,基於主鍵的查詢,上億資料也是很快的;

2. 反範程式設計客棧式化設計,以空間換時間,避免join,有些join操作可以在用**實現,沒必要用資料庫來實現;

本文標題: mysql千萬級資料大表該如何優化?

本文位址: /shujuku/mysql/83240.html

MySQL千萬級資料表優化思路

本文參考知乎問答整理 喜歡這樣的論調 mysql只做簡單的事情,千萬級的表,無論怎樣優化,同樣的sql,都沒有在十萬級的表中執行效率快 因此,在設計千萬級的大表之前,要先問自己幾個問題 我們當然希望每個應用都可以這樣,但理想終歸是理想,現實中,輪到我們自己擼袖子上陣的時候,坑,大多已經是一眼忘不到底...

線上千萬級大表排序該如何優化?

前段時間應急群有客服反饋,會員管理功能無法按到店時間 到店次數 消費金額 進行排序。經過排查發現是sql執行效率低,並且索引效率低下。遇到這樣的情況我們該如何處理呢?今天我們聊一聊mysql大表查詢優化。商戶反饋會員管理功能無法按到店時間 到店次數 消費金額 進行排序,一直轉圈圈或轉完無變化,商戶要...

mysql千萬級資料查詢

1.mysql的資料查詢,大小欄位要分開,這個還是有必要的,除非一點就是你查詢的都是索引內容而不是表內容,比如只查詢id等等 2.查詢速度和索引有很大關係也就是索引的大小直接影響你的查詢效果,但是查詢條件一定要建立索引,這點上注意的是索引字段不能太多,太多索引檔案就會很大那樣搜尋只能變慢 3.查詢指...