0

イベント (アクティビティ) に関連する可能性のあるすべてのキーワードを格納するキーワード テーブルがあります。

オーガナイザーが独自のキーワードを入力できるようにしたいと考えています。このキーワードはモデレートのためにデータベースにアップロードされます。
既存のテーブル (fieldname=active) にブール フィールドを作成するか、カスタム キーワード用に別のテーブルを作成する方がよいでしょうか?

重要な注意点は、モデレーターが定期的にテーブルから非アクティブなキーワードのリストを抽出できるようにするツールを作成することです.

ロジックは、それらが一般的な「キーワード」テーブルにまとめて属していることを教えてくれますが、パフォーマンスに関しては、別のテーブルを作成する方が良いようです。

あなたの考えは何ですか?

Gordon Linoff の回答に基づいて編集します。

まず、キーワードは主催者に固有のものではありませんが、ID も保存されます (言及した時間と同じように)。
モデレーター (私たち) が良いと判断した場合にのみ許可されるため、顧客のキーワードは組み込みのキーワードを上書きすることはできません。

注:モデレート時に考慮される親と子の要素を使用した、より複雑なキーワード管理もあります。目的は、主催者がキーワードを追加できる検索エンジンを作成し、ユーザーがこれらのキーワード (またはその親キーワード) に基づいてアクティビティにアクセスできる場所を作成することです。

また、キーワードは主催者に固有のものではなく、活動に固有のものになります。しかし、これは多対多の関係(ジャンクションテーブル)で管理されるので問題ありません。

4

1 に答える 1

0

これはコメントするには長すぎます。

あなたの質問は、この質問に答えるのに十分な情報を提供していません。たとえば、特定のオーガナイザーに固有のカスタム キーワードはありますか? その場合、ブール値の「isactive」フラグを持つだけでは十分ではありません。顧客のキーワードは、何らかの形で組み込みのキーワードを上書きできますか?

「カスタム」キーワードには、次のような組み込みキーワードの一部ではないフィールドがあると思われます。

  • 誰が作成したのですか?
  • いつ作成されましたか?

また、誰がアクセスできるかなど、その他の情報も含まれている可能性があります。

パフォーマンスは、データへのアクセスに使用されるクエリに基づいてのみ判断できます。ただし、キーワードを単一のテーブルに入れることがパフォーマンスに大きな影響を与えるとは思えません。

于 2014-12-07T14:13:21.813 に答える