私はワードプレススキーマを調べていて、これを観察しました:
なぜterm_taxonomy_id
主キーとインデックスとして割り当てられるのですか?それの利点はありますか?
私はワードプレススキーマを調べていて、これを観察しました:
なぜterm_taxonomy_id
主キーとインデックスとして割り当てられるのですか?それの利点はありますか?
プライマリインデックスはとの組み合わせですobject_id
(term_taxonomy_id
これはセカンダリインデックスでもあります)。
データベーススキーマ設計者は、そのDBをクエリ(または更新)するための一般的なSQL要求を期待して、プライマリ(およびセカンダリ)インデックスを定義します。
適切なインデックスを定義することは、パフォーマンス上の理由から実質的に最も重要です。
したがって、多くのクエリは、ある定数、ある定数、別の定数のようなSELECT
もの になると予想されます。WHERE object_id=
AND term_taxonomy_id=
PRIMARYインデックスが主キーである場合、テーブルにはobject_idとterm_taxonomy_idの組み合わせが1つだけ存在できるようになります。object_idが最初に表示されるため、object_idを参照するクエリは、インデックスの構造を使用して値を非常にすばやくクエリします。クエリが他のフィールドを参照していない場合、データはすべてインデックスに含まれているため、テーブルデータを調べる必要はありません。
ただし、term_taxonomy_idをクエリに使用する場合は、行を見つけるためにインデックス全体をスキャンする必要があります。term_taxonomy_idにインデックスを付けると、これらのクエリの実行が非常に高速になります。