前章では、インデックスの構造を解説し、インデックスを使った検索の
パフォーマンスが悪くなる原因について説明しました。この章以降、SQL文の中で、こういった問題を局所化したり、回避したりする方法について学んでいきます。
それでは、where
句から始めていきましょう。
where
は、SQL文の検索条件を定義するための句であり、
データを素早く見つけるという、インデックスの中心的な機能の1つに分類されます。where
句はパフォーマンスに非常に大きな影響を与えるものですが、
深く考えずに使われ、データベースが大量のスキャンをしてしまう原因にもなるのもよくあることです。つまり、クエリを遅くする一番の原因は、出来の悪い
where
句なのです。
この章では、演算子がインデックスの使われ方にどんな違いを及ぼすかや、 より多くのクエリに適応できるインデックスを作成する方法について説明します。 最後の節では、よく見られるアンチパターンと、より良いパフォーマンスを得るための代替策を紹介します。