いつものように、いろいろな方法で結合されたたくさんのテーブルで店を構えています。
製品テーブルには、「ステータス」というフィールドがあります。ステータス = 4 の場合、製品はアーカイブされています。
ステータスが 4 のクエリが返されないようにしたいと考えています。現在、AND status <> 4
見つけられるすべての SQL クエリに a を追加しようとしています。
これを行うためのより良い方法はありますか、それとも唯一の方法ですか?
status = 4 を表示しないビューを作成し、代わりにそのビューをクエリで使用できます。
おそらく、アーカイブ済みと未アーカイブの間で製品のステータスを変更する操作は非常にまれですが、製品テーブルから選択することは非常に一般的です。したがって、テーブルを作成し、archived
アーカイブされたすべての製品をそこに移動する必要があります。
これが最もパフォーマンスの高いソリューションになります。
アーカイブされているかどうかに関係なく、すべての製品を時々表示したい場合は、archived
とproducts
テーブルを組み合わせたビューを作成することもできます。