Mysql優化

1.應用訪問優化前端

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

2.服務器硬件選擇sql

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
相關文章
相關標籤/搜索