Sql server 2005 一个大sql表还是多个小sql表?

Sql server 2005 一个大sql表还是多个小sql表?,sql-server-2005,aggregate,Sql Server 2005,Aggregate,我目前正在使用MS SQL 2005,有一个包含17列的表,每行中的数据占用的空间仅略小于MS SQL 2005中允许的空间(每行/记录)。可以肯定的是,我不能将其分解成更小的表,因为存储在该表中的数据是从excel表格输入的,而excel表格的内容我无法控制 现在的重点是,对于网站上使用该数据库的几乎所有内容,主表都提供了结果集,这些结果集以前是已知的。那么,哪一个更好呢 a) 我每次都用那张大桌子。 b) 我创建较小的表,并在大表中编辑数据后立即取消填充/填充它们 例如:包含来自不同制造商的

我目前正在使用MS SQL 2005,有一个包含17列的表,每行中的数据占用的空间仅略小于MS SQL 2005中允许的空间(每行/记录)。可以肯定的是,我不能将其分解成更小的表,因为存储在该表中的数据是从excel表格输入的,而excel表格的内容我无法控制

现在的重点是,对于网站上使用该数据库的几乎所有内容,主表都提供了结果集,这些结果集以前是已知的。那么,哪一个更好呢 a) 我每次都用那张大桌子。 b) 我创建较小的表,并在大表中编辑数据后立即取消填充/填充它们

例如:包含来自不同制造商的产品详细信息的Excel表格(几乎每周一次)到达,并存储在products(大)表中。现在有如下查询:

从产品中选择不同的品牌名称、型号名称

从价格<10
的产品中选择不同的品牌名称、型号名称以及类似的10-15

现在我的问题是:我是否应该为这些东西构建聚合表,这些表的数量比PRODUCTS表多5个,并在收到工作表时更新它们,还是应该只对PRODUCTS表执行所有检索查询


PRODUCTS表一次最多包含500000行。

我倾向于使用您的单个表。500k记录并不是太大。如果您确保它正确地索引了您正在使用的常用选项,您可能会发现它相当快


试着运行一些受控的、可重复的测试,看看使用正确的索引可以获得什么样的速度增益

我倾向于选择你的单人桌。500k记录并不是太大。如果您确保它正确地索引了您正在使用的常用选项,您可能会发现它相当快


试着运行一些受控的、可重复的测试,看看使用正确的索引可以获得什么样的速度增益

什么是表格定义?在可变长度可能更好的情况下,您是否使用固定长度列?是的,我对15列使用varchar(n)(n随列而异),对两列使用float。我真的不知道可变长度columns@Anchit-在SQL Server 2005中,您应该远远没有达到行限制(尽管如果行大于8000字节,它们将溢出到行溢出页中)@Martin-老实说,在今天之前,表定义是这样的,如果定义被充分利用,行大小肯定会超过行限制(我没有设计表)。就在今天,我注意到了这一点,也是在早些时候,每个制造商都有不同的表(其中大约9个,具有相同的模式),所以我将它们集成到一个表中。@Martin-是的,该网站自过去6个月以来一直在运行,没有任何问题,但是我同意行大小很高,如果分配的空间被充分利用,可能会出现问题,您建议我使用什么方法来减小行大小?表定义是什么?在可变长度可能更好的情况下,您是否使用固定长度列?是的,我对15列使用varchar(n)(n随列而异),对两列使用float。我真的不知道可变长度columns@Anchit-在SQL Server 2005中,您应该远远没有达到行限制(尽管如果行大于8000字节,它们将溢出到行溢出页中)@Martin-老实说,在今天之前,表定义是这样的,如果定义被充分利用,行大小肯定会超过行限制(我没有设计表)。就在今天,我注意到了这一点,也是在早些时候,每个制造商都有不同的表(其中大约9个,具有相同的模式),所以我将它们集成到一个表中。@Martin-是的,该网站自过去6个月以来一直在运行,没有任何问题,但是我同意行大小很高,如果分配的空间被充分利用,可能会出现问题,您建议我使用什么方法来减小行大小?好的,所以我在SQL中是一个n00b,您能给我提供一个关于创建索引的好文章的链接吗?是的,我如何检查它们的速度?o_0(很抱歉成为这样一个noob)试试看,它可能需要免费注册才能阅读。这是一个很好的网站,提供了所有与SQL相关的内容。非常感谢。只是检查一下链接。好的,我在SQL中是一个相当不错的n00b,你能给我提供一个关于创建索引的好文章的链接吗?是的,我如何检查它们的速度?o_0(很抱歉成为这样一个noob)试试看,它可能需要免费注册才能阅读。这是一个很好的网站,提供了所有与SQL相关的内容。非常感谢。只是查看链接。