結果を格納するためにvarcharまたは余分なテーブルを使用する

私はイベントと結果を格納するmysqlテーブルを持っています。 毎日約10件のイベントがあり、それぞれ約4件の結果が得られます。 これはwebbアプリケーションの各ユーザー用です。

現在、私は結果を各イベント行のvarchar列に格納します。 例:

event_ID, 
event_name='something'
event_results ='10.3 , 23.0 , 45.23 , 12.34 ,'
event_date=date
event_time=time
event_user_id=idToAnotherTacble

イベントや結果を編集することですべてをよりシンプルにするために、結果を別のテーブルに入れたいと思っています。

何かのようなもの:

event_ID=primaryKey
event_name='something'
event_date=date, indexed
event_time=time
event_user_id=idToAnotherTacble, indexed

eventResult_ID=primaryKey
eventResult_event_ID=keyOfPreviousTable, indexed.
eventResult_resultValue=decimal

私は現在、mySQLを使用しています。将来はMSSQLが使用される可能性があります。

読み書き:〜70/30

そう。 このデータベース構造の変更は、私のwebbアプリケーションのパフォーマンスに影響を与えますか? いくつかの番号で遊べます。 1000人のユーザー、1年あたり(300×10)イベント、イベントごとに4つの結果=その結果テーブルの年間1,200万行。

アマチュアWebアプリケーションがこの数の行で円滑に動作することは可能ですか? イベントの1つをクリックして、その1200万行のテーブルの中から10×4行を選んでください。行を検索するにはどのように時間がかかりますか?

どうぞ、どんな方向へ行くか選択してください。

読んでくれてありがとう! マティアスR

0
その私のサーバーではない、私はそれが大丈夫だと思うWebホスティング会社。私はinnodbかmyisamの間で選択するのに十分に読んでいない。私が書いたように、私はアマチュアである。だから、12百万はそれほど多くはない、それは良いと思う。私はプライマリキーでリトリーブしていませんが、インデックスを使用しています。
追加された 著者 Easyrider,
あなたの答えをありがとう。私はデータベースに別のテーブルを追加します:D
追加された 著者 Easyrider,
イベントが複数の結果を持つことができる場合は、結果を別のテーブルに格納する方が良いでしょう。これにより、これらの結果を使用しているときにかなりの時間が節約されます。そうしないと、より遅い文字列を解析する必要があるためです
追加された 著者 Pranav Hosangadi,
検索の速度に関してより正確に答えるには、使用するMySQLエンジン、サーバーのハードウェア、サーバーへの負荷、レコードの取得方法を指定する必要があります。 InnoDBで主キーでレコードを取得している場合、5年前のハードウェアでも1200万行は文字通り何もありません。
追加された 著者 N.B.,

答えはありません

0