ホームページ >データベース >mysql チュートリアル >データベースで複合インデックスを使用する必要があるのはどのような場合ですか?
複合インデックスを使用する場合
index(column_A、column_B、column_C) として示される複合インデックスは、データの結合、フィルタリング、さらには選択などの目的で指定された列。重要なのは、複合インデックスは、インデックス付き列の左端のサブセットを利用するクエリにもメリットがあることです。したがって、上記のようなインデックスは、
複合インデックスのパフォーマンスに関する考慮事項
複合インデックスを使用すると、次の理由によりパフォーマンスに大きな影響を与える可能性があります。要素:
複合インデックスを使用する利点
複合インデックスには、次のような利点があります。
使用例の例
検討ホーム テーブルを使用した例:
geolat とgeolng が適切です。最も頻繁に実行されるクエリを調べます:
SELECT * FROM homes WHERE geolat BETWEEN ??? AND ??? AND geolng BETWEEN ??? AND ???
このクエリの場合、(geolat, geolng) の複合インデックスは、指定されたフィルタリング基準と直接一致するため最適です。
EXPLAIN 出力の解釈
EXPLAIN の分析出力:
EXPLAIN SELECT ... WHERE homes.geolat BETWEEN -100 AND 100 AND homes.geolng BETWEEN -100 AND 100
出力は、geolat と geolng の既存のインデックスが指定されたクエリに適切であることを示しています。ただし、クエリの主に geolat と geolng の両方に対する同時フィルタリングが含まれる場合は、提案されているように複合インデックス (index(geolat_geolng)) を作成すると、パフォーマンスがさらに向上する可能性があります。
以上がデータベースで複合インデックスを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。