對於乙個千萬級的大表,現在可能更多的是億級資料量,很多人第一反應是各種切分,可結果總是事半功倍,或許正是我們優化順序的不正確。下面我們來談談怎樣的優化順序可以讓效果更好。
mysql資料庫一般都是按照下面的步驟去演化,成本也是由低到高:
1. 避免使用select *
2. 可確定返回記錄數的,盡量增加limit n;
3. 盡量少用like查詢,會導致索引失效;
1. 選擇合理的引擎
2. 正確使用索引
3. 字段盡量設定成not null
4. mysql分割槽表
1. linux核心用記憶體開快取儲存資料;
2. 增加應用快取,例如memcached、redis讀寫效能非常高;
3. 用ssd代替機械硬碟
4. ssd+sata混合儲存,對熱資料快取,例如:flashcache;
1. 讀寫分離
2. 垂直拆分
3. 水平拆分
盡我們所能去優化sql吧!它成本最低,卻又是一項費時費力的活,需要在技術與業務都熟悉的情況下,用心去優化才能做到最優,優化後效果也是立竿見影的!
千萬級的大表!MySQL這樣優化更好
對於乙個千萬級的大表,現在可能更多的是億級資料量,很多人第一反應是各種切分,可結果總是事半功倍,或許正是我們優化順序的不正確。下面我們來談談怎樣的優化順序可以讓效果更好。mysql資料庫一般都是按照下面的步驟去演化,成本也是由低到高 1.避免使用select 2.可確定返回記錄數的,盡量增加limi...
MySQL 對於千萬級的大表的優化?
第一 優化你的sql和索引 第二 加快取,memcached,redis 第三 以上都做了後,還是慢,就做主從複製或主主複製,讀寫分離,可以在應用層做,效率高,也可以用三方工具,第三方工具推薦360的atlas,其它的要麼效率不高,要麼沒人維護 第四 如果以上都做了還是慢,不要想著去做切分,mysq...
MySQL 對於千萬級的大表要怎麼優化?
很多人第一反應是各種切分 我給的順序是 第一優化你的sql和索引 第二加快取,memcached,redis 第三以上都做了後,還是慢,就做主從複製或主主複製,讀寫分離,可以在應用層做,效率高,也可以用三方工具,第三方工具推薦360的atlas,其它的要麼效率不高,要麼沒人維護 第四如果以上都做了還...