表设计方法有哪些缺陷?

时间:2012-07-03 00:36:20

标签: sql sql-server database-design

我有一张如下表:

tblQuestions
---------------
ID(pk)int
CustomerID(fk)int
QTypeID(fk)int
QNumber int
FieldName varchar(max)
FieldValue varchar(max)

CustomerID,QTypeID,QNumber上的聚簇索引 对于每个组合CustomerID,QTypeID和QNumber,将有4到5条记录。 并且,对于每个customerID,最多可以有250条记录。

设计的另一种方法是创建5到6个具有已定义字段的不同表,将customerid创建为外键,每个客户创建一条记录。

我的问题是,在第一种方法开始影响性能的记录有多少之后,或者是否会出现这种情况?

你觉得这种做法有什么问题吗?最大可能记录可能高达5000万条记录。

1 个答案:

答案 0 :(得分:1)

您可能在这里过早优化。在规范化和删除重复方面最有意义的方式设计您的模式,而不是在预期的性能方面。

“我的问题是,经过多少记录后,第一种方法开始影响性能,还是永远?”

没有人能为你解答这个问题。如果您想了解建议的表格设计的性能特征,请进行模拟,插入50M记录并运行一些查询。

“你认为这种方法有什么问题吗?”

数据库架构设计中没有正确或错误的答案。有一些最佳实践,如规范化,但也有很多理由使数据去标准化。如果那是您关注的问题,请将其模拟并测试性能。