Mysql優化

1.應用訪問優化

1).減少數據訪問(Nosql作用)
2).返回更少數據
3).減少交互次數(Nosql作用)

2.服務器硬件選擇

1).數據SSD (固態)
2).日誌SAS (企業級)

3.操作系統優化(LINUX / SWAP(虛擬內存) )

1).LINUX 
2).設置SWAP(虛擬內存)
3).關閉NUMA特性
4).網卡優化(雙網卡做成BOND(0 / 1 / 6)或者調整網絡參數)
5).磁盤調度設置(DEADLINE / NOOP / CFQ)
6).文件系統(XFS / EXT4 / NOATIME / NOBARRIER)

4.數據庫優化

1).數據庫實例化優化
2).SQL語句優化
    a).選着有效的連接順序(from從左到右;where從下而上,從右到左;group by,order by從左到右)
    b).避免產生笛卡爾積
    c).避免使用*(需要查詢數據字典)
    d).用where子句替換having子句
    e).in適合外表大而內表小;exist適合於外表小而內表大
    f).使用exists替代distinct
    g).避免隱式數據類型轉換
    h).使用索引來避免排序操作
    i).儘量使用前端匹配的模糊查找(Column like ‘ABC%’)
    j).不要在選擇性較低的字段建立索引
    k).避免對列操作(where條件中對字段進行數學表達式運算)
    l).儘量去掉in , or ,<> (索引失效)
    m).避免在索引列上使用 is null 或者 not
    n).批量提交sql
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章