1

この質問の前に、私はデータベースの効率性についてほとんど知らないと言わなければなりません。

これはかなり単純な質問です。

イベントへの出席を mysql データベースに保存したいと思います。私は2つの可能な方法を考えました(もっとあると思います):

  1. ユーザー ID のカンマ区切りのリストを含む追加のattendance行をテーブルに作成します。events
  2. attendance2 つの列を含むテーブルを作成しevent_iduser_id

user_id私の直感では、方法 2 が最も効率的であると言えます。複数の行を返してトラバースする必要がありますが、連結された文字列内で特定の行を検索するよりもコストがかからない可能性があります...

誰でもこれを確認できますか?

4

2 に答える 2

3

新しいテーブルを作成してください!

そうしないと、MySQLのリレーショナルな側面を利用できず、実行するすべてのクエリでcsvエントリの結果を解析する必要があります(ひどく非効率的です)

于 2012-05-23T21:22:30.747 に答える
1

2 番目のオプションの方が適しています。カンマ区切りの文字列で検索すると時間がかかります。

ただし、2 番目のオプションでは、 と が であることを確認しevent_iduser_idくださいFOREIGN KEYS

これがINDEX列になり、より良い検索結果が得られます。

于 2012-05-23T21:27:09.590 に答える