我有一个应用程序,每年将超过10亿行插入到表中。该表包含一些varchar
和bigint
列以及一个blob列。
10亿行包含历史数据,这些数据被保留以进行跟踪。因此,我想知道如果我根据有关最大表大小的MSDN文章继续采用这种结构,是否会存在表容量限制。
该链接中提到的数据文件大小是否指向表数据文件组?
我有一个应用程序,每年将超过10亿行插入到表中。该表包含一些varchar
和bigint
列以及一个blob列。
10亿行包含历史数据,这些数据被保留以进行跟踪。因此,我想知道如果我根据有关最大表大小的MSDN文章继续采用这种结构,是否会存在表容量限制。
该链接中提到的数据文件大小是否指向表数据文件组?
Answers:
sql server 2008中的表可以处理大量记录,正如@usr所提到的,它取决于磁盘空间,但是建议您如果表有很多行并且不断增长,请使用分区表 http://technet.microsoft。 com / zh-CN / library / dd578580(v = sql.100).aspx
当数据库表的大小增长到数百GB或更多时,加载新数据,删除旧数据和维护索引可能会变得更加困难。
有关它的更多信息
也许分区视图会起作用。
分区视图允许将大表中的数据拆分为较小的成员表。根据列之一中数据值的范围,在成员表之间对数据进行分区。每个成员表的数据范围是在分区列上指定的CHECK约束中定义的。然后定义一个使用UNION ALL将所有成员表的选择组合到单个结果集中的视图。当引用该视图的SELECT语句在分区列上指定搜索条件时,查询优化器将使用CHECK约束定义来确定哪个成员表包含行。
我不确定它与AmmarR在回答中提供有关信息的分区表有何不同。