我的桌子里面有大约一百万条记录。目前它已经增长到2GB。我需要对此表或任何其他方法进行分区,以使此表的大小更小。
分区的意思是将表格分成TableName_1,TableName_2,当尺寸增长&在数据检索中将它们结合起来
有没有办法执行此操作?
答案 0 :(得分:2)
首先,100万行真的不是那么多,也不是2 GB的表。
要回答您的问题,是的,SQL Server完全支持table partitioning。
例如,您可以根据日期字段在历史数据和“最近”或“活动”数据之间进行分区。或者,您可以使用地理分段进行分区,从而根据国家/地区字段传播数据。(水平分区的两个示例)。
或者,您可以执行垂直分区,将表格切割成不同数量的列(如果您的表包含很少使用的列,这可能很有用)。
更多信息:MSDN - Table Partitioning (explains horizontal and vertical partitioning)
答案 1 :(得分:0)
您假设您有一个大表并且需要对其进行分区是不正确的。
您需要优化查询并为字段编制索引。此外,如果您经常使用数据,那么为缓存值创建表可能是个好主意。
答案 2 :(得分:0)
很久以前,我已经实现了一个这样的解决方案和博客。对图表有一个非常详细的解释。希望对你有所帮助。
http://dattatraynale.blogspot.co.uk/2012/11/sql-server-partitioning-design-4.html