mysql千萬級如何優化?

2021-08-17 09:51:26 字數 412 閱讀 5189

1、查詢語句上,只寫必要的字段,建好索引,注意一下查詢條件的使用,多表查詢不要用框架(自己寫sql)

2、一定要分頁(一些小表也養成習慣,哪怕你在前台設定多一點可選記錄數選項(如,10,50,100,500,1000(區域網環境),不能再多了孩子))

3、在一定數量的基礎上,做好表分割槽

4、拆表

5、拆庫

其他操作:

1、表設計很關鍵,不要老是去改表(mysql 5.6以上版本支援online ddl之後,改動表結構對資料的影響少了)

2、使用事務操作表資料(減少操作時間)

3、使用快取(減少資料庫連線次數)

4、讀寫分離

5、使用集群(有難同當,把單機的壓力分到多機,還可以避免乙個伺服器掛掉了,一主多從)

6、優化mysql引數配置和sql優化

千萬級MySQL分頁優化

對於只有幾萬條資料的表這樣做當然沒問題,也不會在使用者體驗上有何不妥,但是要是面對成百萬上千萬的資料表時,這樣就不足以滿足我們的業務需求了,如何做到對千萬級資料表進行高效分頁?首先要學會使用 explain 對你的sql進行分析,如果你還不會使用 explain 分析sql語句 傳送門 一丶合理使用...

mysql千萬級表關聯優化(2)

交代一下背景,這算是一次專案經驗吧,屬於公司乙個已上線平台的功能,這算是離職人員挖下的坑,隨著資料越來越多,原本的sql查詢變得越來越慢,使用者體驗特別差,因此sql優化任務交到了我手上。這個sql查詢關聯兩個資料表,乙個是攻擊ip使用者表主要是記錄ip的資訊,如第一次攻擊時間,位址,ip等等,乙個...

mysql千萬級大資料SQL查詢優化

1.對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄,如 select id from t where num is null可以在num...