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...