効率的な AND 検索によるタグ付けのためのデータベース設計
効率的な AND 検索をサポートするタグ付け用のデータベースを設計するには、次のことを行う必要があります。次の要件を考慮してください:
従来、JOIN を使用してタグ付け機能を実装できましたが、多数のタグを処理する場合、そのアプローチは非現実的になります。この制限を克服するには、次の解決策を検討してください。
エンティティ属性値 (EAV) モデル
EAV モデルは、データを 3 つのテーブルに分割します。
このモデルでは、値テーブルのタグごとに個別の列。各項目には、値テーブルに複数の行を含めることができます (タグごとに 1 つずつ)。 AND 検索を実行するには、目的のタグ列すべてに条件を指定するだけです。
ビットセット アプローチ
このアプローチでは、ビットセットを使用してタグの有無を表します。項目ごとに。各タグにビットが割り当てられ、各項目には対応するビットセットがあります。 AND 検索を実行するには、指定したタグのビットセットに対してバイナリ演算 (ビットごとの AND など) を使用できます。
パフォーマンス テストのリファレンス
詳細については、洞察については、次のリソースを参照してください:
引用されていることに注意してくださいソースは MySQL の具体的なパフォーマンス評価を提供しており、公開以来、全文インデックス作成機能が向上している可能性があります。
以上がタグの AND 検索を効率的に行うためのデータベースを設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。