2011-08-10 4 views
0

タグのタグを使用する必要があるウェブサイトを構築しようとしています(このページのキーワードを入力してください)。タグとMySQL - 速度とユーザビリティ

タグは最終的にMySQLの(a)行に格納されます(PHPはそれらを格納しますが、余分な無駄な情報)、私たちのチームはどちらの方法でタグを格納するための最速の方法です:

  1. は、関連するSQLテーブルに4別々の列を持っている(私たちは4でタグを制限している考えると、これは完全に実行可能な解決策をIA)
  2. がある1列を持っていますa カンマ区切りのリストのタグ(そして、 、

    • 単一のタグを検索:GEリミット)基本的に

は、我々は、タグで次の操作を実行できるようにする必要があるとしていることを考慮すると、より高速である方法で不思議に思っていますまたは複数タグ検索で

  • のみ完全に一致と一致する(すなわちタグ「トラック」「消防車」のタグが一致してはならない)(「風景-waterfall」を検索することができますつまりユーザー)
  • ブロックタグを
  • ありがとうございました。

    p.s.私はthis postを認識していますが、それはまったく役に立ちません。

    答えて

    1

    タグを付ける主な内容を持つFooテーブルがあると仮定すると、タグテーブルを追加することをお勧めします。タグにはID、タグ文字列、実際にタグが何を意味するかを記述できる説明フィールドがあります。

    次に、主キーID列、タグ付けしているFooレコードのID、タグ付けしているタグのIDを持つFooTagという結合テーブルを作成します。完全性のためにFooとTagへの外部キー関係。

    一度に1からNのすべてのレコードを見つけることができます.Fooにタグが付けられたタグをすべて見つけることができます。 Fooごとに4つのタグに限定されるわけではありません。また、どのタグが有効であるか把握するために、4つの異なる列を指定する必要はありません。