我决定创建一个包含多达 20,000 多个学生资料的数据库,每个学生资料都有 120 多个属性,
在 DOTNETNUKE CMS 等许多企业项目中,使用的方法是两张表,一张是 UserProfile :
[ProfileID],[UserID],[PropertyDefinitionID],[PropertyValue]
另一个是: ProfilePropertyDefinition
[PropertyDefinitionID],[DataType] ,[PropertyCategory],[PropertyName]
如果我使用这种方法,我将有 20,000 x 120 = 240 万行!
我知道这是正确的方法,拥有一个规范化的数据库,而且我知道,创建数据库服务器是为了处理数百万条记录,但我想知道,为什么我们不创建一个包含 120 列 + 足够备份列的配置文件表为了可扩展性?如果性能很重要,是不是弊大于利?