当您的值仅依赖于一个或多个其他字段+/-常量(例如零售价格和折扣价格)时,在检索数据时,是也存储这些值还是“即时”计算它们更好?
发布于 2010-04-21 15:44:45
我同意Tomislav的观点-尽量避免冗余,因为你最终可能会得到多个表上的数据彼此不一致。这使得更新更加痛苦。
不过,也有一些与数据库性能无关的例外情况值得考虑。
发布于 2010-04-21 15:26:44
默认情况下不存储冗余信息:third normal form通常是一个合理的初始目标。冗余是在出现“足够好”的原因时引入的,例如,当您必须计算派生值并且计算密集时,您会受到“足够大”的性能影响。
显然,“足够好”和“足够大”是限定词,它们只在给定的上下文中表示某些东西。就其价值而言,零售/折扣价格计算似乎太便宜和简单,无法保证在大多数(显然不是所有)情况下引入多余的列。
https://stackoverflow.com/questions/2680999
复制相似问题