解決慢SQL
1.慢查詢:在服務器跑一段時間,用mysqldumpslow找出慢sql
2.explain:
2.1聚簇索引:建立主鍵 相應的建立聚簇索引 索引+data放在一起 查詢快
2.2type索引等級,在where、groupby、orderby、join使用的字段建立索引
2.3extra:建立覆蓋索引,直接使用索引裏面的數值就可以查詢 消除usingtemporary usingfileorder
3.show profile分析sql生命週期:調整sort_buffer_siz max_length_for_sort_data
多寫快SQL
1.全值匹配:根據where建立對應的聯合索引
2.最左前綴:根據索引的頭,進行寫where條件,中間不能跳過
3.不在索引列計算、使用範圍(範圍之後全失效)、不用*、不用is null、不要隱式類型轉換、不用or
4.對於usingtemporary usingfileorder %%建立覆蓋索引
架構
1.負載均衡 主從複製 讀寫分離 減小壓力
2.分區分表 冷熱分離 應對數據的增加300w
3.緩存層:主從複製 redis集羣 哨兵機制