2010-06-07 76 views
0

我有一个有很多行的表格。该结构是这样的:数据库结构,优化有很多行的表格

UserID | ItemID | Item Data... 

我会看到在查询时间的任何收益,如果我分成表这每用户或每较小的用户群?

查询总是单个用户获取/修改选择的项目。

+0

你的主要关键是什么? – 2010-06-07 18:38:23

+0

@Romain Hippeau主键是一个唯一的行ID(自动增量)。在userid,itemid组合以及每个独立的索引上都有。 – aepheus 2010-06-07 18:45:11

+0

然后你很好 - 不要放在多个表格中。 – 2010-06-07 22:47:48

回答

0

请勿制作多个表格。

告诉我们你认为“很多行”是什么。

您对表格有任何索引或约束吗?

数据如何插入,更新和删除?

通常,我想要一个唯一的UserID,ItemID索引,但不知道更多关于您的环境,这很难说。

此外,请给我们提供关于数据库平台和您选择的数据类型的信息。

+0

很多行在高达数十万的范围内。 UserID,ItemID和组合都有索引(以及其他一些通常搜索的字段)。这是在SQL Server 2000上。 – aepheus 2010-06-07 18:48:01

+0

体面的硬件和适当的索引不应该强迫你看像奇怪的情况,像每个用户表,恕我直言。但不是一个SQL Server 2000的家伙。 – rfusca 2010-06-07 19:53:07

+0

@aepheus典型查询的执行计划是什么样子的 - 是使用索引吗? – 2010-06-07 20:39:20