- 8.3.1 MySQL のインデックスの使用の仕組み
- 8.3.2 主キーの最適化
- 8.3.3 SPATIAL インデックス最適化
- 8.3.4 外部キーの最適化
- 8.3.5 カラムインデックス
- 8.3.6 マルチカラムインデックス
- 8.3.7 インデックスの使用の確認
- 8.3.8 InnoDB および MyISAM インデックス統計コレクション
- 8.3.9 B ツリーインデックスとハッシュインデックスの比較
- 8.3.10 インデックス拡張の使用
- 8.3.11 生成されたカラムインデックスのオプティマイザによる使用
- 8.3.12 不可視のインデックス
- 8.3.13 降順インデックス
- 8.3.14 TIMESTAMP カラムからのインデックス付きルックアップ
SELECT
操作のパフォーマンスを向上する最善の方法は、クエリーでテストされる 1 つ以上のカラムにインデックスを作成することです。 インデックスエントリは、テーブル行へのポインタのように動作し、クエリーが WHERE
句の条件に一致する行を迅速に特定し、それらの行のほかのカラム値を取得できます。 すべての MySQL データ型にインデックスを設定できます。
クエリーで使用されている可能なすべてのカラムにインデックスを作成しようとしがちですが、不要なインデックスは領域を無駄にし、MySQL が使用するインデックスを判断するための時間を無駄にします。 各インデックスを更新する必要があるため、インデックスは挿入、更新、削除のコストも追加します。 最適なインデックスのセットを使用して、高速のクエリーを実現するために、適切なバランスを見つける必要があります。