什么是更好的创建新表或添加现有表中的列

时间:2013-06-03 09:16:24

标签: sql sql-server

在我的数据库中,我有付款表 paymentid,amount,duedate,approvalcode,status,transactionid等。

付款表已有15列。

如果我想存储小费,税金,请与paymentid相比。

什么是更好的

使用一对一关系创建新的paymentdetails表

在同一个付款表中添加列?

请帮助。

支付表有近50000条记录。那么数据库真正有用。

2 个答案:

答案 0 :(得分:2)

对于这样的小表,我没有看到没有将新列放在现有表中的原因。

如果

,你会这样做
  • 您达到了RDBMS的某些限制(列数,表的总大小)
  • 列中的数据很大,仅用于少量查询

答案 1 :(得分:2)

通常,我的工作前提是某些东西/实体/对象的属性应该存储在某个/ entity / object中。通常情况下,当有一对多的关系时,我只会分成一个新表 - 所以一个属性有多个值(例如持有人和资格)

我会将它们添加到付款表中 - 尽管您可能有一个订单表,它们更适合与之相关吗?

您需要记住是否需要索引这些列 - 如果添加索引,可能会使表负担过重并降低性能但是您可能只会在使用连接中的列的实例中添加索引它们听起来不像你需要加入的那种东西。