【发布时间】:2019-09-09 15:31:24
【问题描述】:
假设您有一个呼叫中心需要在给定的一天内拨打 X 次电话。每个客户可以被要求支付 Y 数量的产品。企业希望在一天开始时将呼叫分配给接线员,然后能够每天评估这些呼叫的结果。
出于这些原因,我正在考虑将结构分为两部分,一张桌子用于客户,另一张用于产品。 我遇到的问题是决定将主键放入主调度表中。由于每天都会有很多记录,所以我有一部分想把每天的数据按顺序写出来:
DateOfRecords date
Sequence int
OperatorID int
CustomerID int
其余列…
以 DateOfRecords 和序列为主键。
我知道很多人建议建立一个整数作为主键,然后在其他列上建立索引。同样,我的问题是因为每天要保存的记录数量,因为这将是一个历史表。
有什么建议吗?
【问题讨论】:
-
您的问题到底是什么? “有什么建议吗?” 范围太广,无法单独回答。仅仅是“
DateofRecords和Sequence是一个好的复合主键候选者吗?” -
如果
sequence是自动数字,为什么您需要date作为 PK 的一部分? -
@Larnu 如果我的问题不够清楚,我很抱歉。基本上我是在寻求有关如何设计表格的建议。
-
@JuanCarlosOropeza 序列不是自动数字的。它将由应用程序创建。我们试图避免的是将一个主键作为单个数字列,然后在以后有数百万条记录时出现问题。
-
trying to avoid is having one primary key as a single numeric不管你有几百万行,这都不是问题。这是推荐的方法。让应用处理序列可能会出现问题,因为您必须处理并发。
标签: sql-server database tsql database-design