我目前正在使用MS SQL 2005,并且有一个包含17列的表,并且每行中的数据占用的空间仅比MS SQL 2005中允许的数量(每行/记录)少。由于存储在这个表中的数据是从我不受控制的Excel表单输入的,我无法将其分解成更小的表格。单个大型sql表或多个小型sql表?
现在重点是,对于网站上使用此数据库的几乎所有内容,该主表提供了结果集,并且这些结果集是以前已知的。所以,哪两个更好: a)我每次都使用大表。 b)我创建了较小的表格,并在数据在大表格中编辑后立即填充/填充它们。
例如:包含产品详细信息的Excel工作表从各个制造商到达(几乎每周),并且它们存储在PRODUCTS(大)表中。现在有喜欢的查询:
SELECT DISTINCT Brand_name, Model_name FROM PRODUCTS
和
SELECT DISTINCT Brand_name, Model_name FROM PRODUCTS WHERE Price < 10
和10-15喜欢这些。
现在我的问题是:我是否应该为这些东西构建已经聚集的表格,这些表格总数大约比PRODUCTS表格还要多5个表格,并且在表格进入时更新它们,或者我应该只执行所有的检索查询产品表?
PRODUCTS表一次最多可包含约500,000行。
什么是表格定义?当可变长度可能更好时,您是否使用固定长度列? – 2011-03-21 17:28:17
是的,我使用varchar(n)(这个n根据列而变化)15列,浮动两列。还没有真正了解可变长度列 – Anchit 2011-03-21 17:31:35
@ Anchit - 你应该在SQL Server 2005的行限制之外,然后(尽管如果行大于8000字节,它们会溢出到row_overflow页面中) – 2011-03-21 17:34:40