Mysqlデータベースに新しい列を作成するかどうかはわかりません。新しいDB列を作成する必要がありますか?
Iは、テーブルを持っている:
calculated_data (ID、日付、the_value、ステータス)
ステータスはブールです。
私は名前の余分な値を必要とする:the_filtered_value
私はこのように簡単にそれを得ることができます。
calculated_data FROMSELECT IF(ステータスがfalseで、0、the_value)the_filtered_value AS
calculated_data
テーブルには何百万ものエントリがあり、チャートとデータテーブルにはthe_value
とthe_filtered_value
が表示されます(phpを使用)。
それはcalculated_data
テーブルに新しい列the_filtered_value
を作成するか、単にSELECT IF
クエリを使用する方が良いですか?
私が見る "より良い" では:
...
- 性能に優れた
- より良いDB設計
- に
- を維持しやすいおかげであなたの助けに!
難しいと言えます。新しい列を追加する場合は、その列に値を設定して(遅くても1回だけ)、更新時に維持する必要があります(他のルーチンの手順が遅くなる可能性があります)。あなたがその場でそれを計算するなら、あなたの質問を遅くするかもしれません。私は正直なところ、あなたの最善の策は今や列なしでいくつかのタイミングテストを行い、列を追加し、さらにタイミングと性能テストを行うことだと思います。 – FrustratedWithFormsDesigner