一般に、低速の SELECT ...
        WHERE
        の速度を上げる必要がある場合は、まず、インデックスを追加できるかどうかを確認します。一般に複数のテーブル間の参照はすべてインデックスを使用して実行する必要があります。EXPLAIN
        コマンドを使用して、SELECT
        に使用されるインデックスを判定できます。項4.2.1. 「EXPLAIN
        を使用して、クエリーを最適化する」、項4.4.4. 「MySQL におけるインデックスの使用」
        を参照してください。
      
        MyISAM
        テーブルのクエリー速度を上げる一般的なヒント。
      
            To MySQL
            によるクエリーの最適化を容易にするには、関連データをロードしたあとにテーブルに対して
            ANALYZE TABLE
            あるいは myisamchk
            --analyze
            を実行する。これはインデックスのために、同じ値があるレコードの平均値を更新する
            (一意のインデックスの場合、これは常に 1
            になる)。MySQL はこれを使用して、2
            つのテーブルを
            非定数式で結合する際に選択するインデックスを判定する。SHOW
            INDEX FROM 
            を実行し、tbl_nameCardinality
            値を調べることで、テーブル分析の結果を確認できる。myisamchk
            --description --verbose
            はインデックスの分布情報を表示する。
          
インデックスに従ってインデックスとデータをソートするには myisamchk --sort-index --sort-records=1(インデックス 1 でソートする場合) を使用する。速度を上げるには、すべてのレコードの読み取りに一意のインデックスを使用し、そのインデックスに従った順序で読み取りを行うように推奨される。ただし、このソートでは書き込みの最適化はできず、テーブルが大きい場合は時間がかかる。

