我有一个包含49列的表格,我需要再添加两列。我可以使用这些新列添加另一个与该表相关的表,以避免使表变大和变大。
但是我想知道如果它们没有在连接中使用,那么在该表中有多列的性能会有多大影响?
如果A有4列,那么表A与表B的连接是否真的存在差异?如果你只使用其中的3列,那么它是100吗?
此外,该表并不是人口密集,它甚至没有500行但是想知道,因为DBA并不喜欢它只是为了理解他的观点。
感谢。
编辑:
我将编辑解释我在此表中唯一的工作是向表中当前包含的现有49添加2列,并且它们将是位列。这就是为什么我想知道增加列大小是否会影响性能,假设他们在加入该表时从不做select *。
答案 0 :(得分:0)
我认为最好的答案是:这些新列在大部分时间都是空的吗?
注意:无论如何,50列似乎很可怕......
答案 1 :(得分:0)
将这两列添加到表中不会显着影响性能,特别是因为表存储的行少于500行。说,你的DBA不喜欢这样,因为它不遵循表设计的最佳实践,特别是如果许多列值为NULL /空并且这种设计不能很好地扩展。但是,除非您预计此表的大小会迅速增加,否则添加两列不会造成性能问题。
答案 2 :(得分:0)
如果您添加另一个表,那么我假设您必须使用联接才能正确访问该数据。实际上,这可能会导致比单个表中添加的两个新属性更多的成本。
如果您的表格可以重构,那么这将是最好的选择,但如果没有,那么您只会通过尝试这样做而失去效率。不要仅仅为了保持在50个属性之下的第二个表。无论如何,添加到49的两列不会是不可行的负载,但可能还有其他原因需要重新设计您的表。如果你有一堆空单元格或空单元格,那么你就是在浪费资源并给你的系统做更多的工作,找到一种消除这些的方法无疑会比添加一两列有更大的影响