我有一个包含客户订单的订单表。一个客户一次可以有一个未完成的订单。客户可以修改未完成的订单。一旦订单关闭,客户就不能再对其进行修改,并且主要用于报告。我更愿意将打开的订单和关闭的订单保存在同一个表中,但我担心随着时间的推移,这个表会变得非常大,性能会下降。我想把两者都放在同一个表中是因为我需要在两者之间运行报告,而把它们放在同一个表中是最简单的。我的问题是:它真的应该是一个问题,所有的记录在同一个表会减慢事情吗?
我正在确定一个订单是否打开/关闭一个enum字段称为状态。任何状态为:"新建、排队、打包、暂停"的订单都被认为是打开的,而状态为"完成"的任何订单都被认为是关闭的。
不一定需要。依赖于关系的基数。正如你在帖子中所说,看起来总是存在一个1:1
关系,在这种情况下,你在同一个表中有状态。
您可以将Status varchar(10)
列的值设置为Open/closed
,或者最好有两个位字段表示IsOpen bit
和IsClosed bit
。