可以始终隐藏表的子集吗?

时间:2012-12-17 15:15:57

标签: mysql sql

我设有一个商店,里面有很多桌子,按照惯例以各种方式连接在一起。

在我的产品表中,我有一个名为'status'的字段。如果状态= 4,则产品将被存档。

我想确保没有任何查询返回状态为4的任何内容。现在我要为我能找到的每个SQL查询添加AND status <> 4

有更好的方法可以做到这一点,还是唯一的方法?

2 个答案:

答案 0 :(得分:6)

您可以创建一个不显示status = 4的视图,而是在查询中使用该视图。

答案 1 :(得分:0)

据推测,在归档和未归档之间更改产品的状态是非常罕见的操作,而从产品表中进行选择非常常见。因此,您应该制作一个表archived并将所有存档的产品移到那里。

这将是性能最佳的解决方案。

如果您偶尔也想要查看所有产品,无论是否已归档,那么您还可以创建一个结合了archivedproducts表的视图。