mysql-调优

855 ワード

mysql调优
1.適切な記憶エンジンを選択する
  • よく読むための表はmysamエンジン
  • を使います.
  • 他の表はinnodbエンジン
  • を使用しています.
    2.SQL文の調子を合わせる(できるだけ全表スキャンを避ける)
  • select where order byに関するフィールドにインデックス
  • を作成する.
  • where文では使用しません!=、インデックスを使用して全テーブルスキャンを行うことをやめます.
  • は、NULL値の判断を使用しないようにしてください.そうでなければ、全テーブルスキャン
  • を行います.
    eg: select id from t1 where number is null 
      : number       0
    
  • はできるだけ使用orで条件を接続しないようにします.そうでなければ、全表スキャン
  • があります.
    eg: select id from t1 where id=10 or id=20;
      :select id from t1 where id=10
          union all
          select id from t1 where id=20;
    
  • あいまいなクエリは、フロント%の使用を避けるために、全テーブルスキャン
  • をもたらす.
  • は、できるだけinとnot inを避け、全表スキャン
  • をもたらす.
    eg: select id from t1 where id in(1,2,3)
      :select id from t1 where id between 1 and 3;
    
  • select*fromを使用しないようにします.*
  • の代わりに具体的なフィールドリストを使います.