2011-09-02 72 views
0

我只是想知道哪一个是最佳做法: 我有一张表,我想隐藏一条记录,所以我应该使用像visible = 1这样的列,或者我应该创建另一个表并传输数据。最佳做法与MySQL

谢谢!

+0

这完全取决于你想要做什么。两者都是可能的解 –

+0

从哪里隐藏?从输出?然后你可以在查询中将其过滤掉。如果你不再需要该记录,可以删除它。您应该澄清... – poplitea

+0

您所说的内容通常称为“软删除”。 – ceejayoz

回答

0

我建议为此添加一个isHidden字段。我通常为此使用tinyint。

0

表没有性能 - 查询有性能。当您尝试决定如何优化时,请专注于针对该表运行的查询。

将数据移动到另一个表可能是值得的,例如,如果90%的数据是“隐藏”的并且行很少更改其隐藏状态,则可以通过保留非隐藏数据来极大地提高查询性能那个桌子很小。另一方面,如果您有时混合了您有时包含并有时排除“隐藏”行的查询,或者行经常更改其隐藏状态,将它们保留在同一个表中会更方便。

这两种策略在不同情况下都有效。您需要将所有数据的使用考虑在内。