SqlServer性能优化:Partition(管理分区)
2010-03-10 00:00:00 来源:WEB开发网对于切换分区,即使是上千万级别的数据,也可以在不到1秒的时间完成分区的切换。所以虽然从表面上看,切换分区和调用Select或者Insert语句移动数据的结果是一样的,但效率却是不可同日而语的。
查看分区信息
除了利用上文提到的通过“管理压缩”的方式查看某张表的分区信息之外,SQL Server还提供了一张系统表查看数据库中的分区情况:
SYS.PARTITION_SCHEMES,数据库中所有分区方案的信息,包括对应的分区函数的ID。
SYS.PARTITION_FUNCTIONS,数据库中所有分区函数的信息,包括分区数等信息。
SYS.PARTITION_RANGE_VALUES,每个分区范围的信息,可以和SYS.PARTITION_FUNCTIONS联查。
比如可以通过如下的脚本,查出分区函数MyPartitionFunc的第一个分区的右边界:
SELECT value FROM sys.partition_range_values, sys.partition_functions
WHERE sys.partition_functions.function_id = sys.partition_range_values.function_id
AND sys.partition_functions.name = 'MyPartitionFunc' AND boundary_id = 1
还可以通过如下脚本,获取分区表中各分区的数据情况(行数,最大值,最小值):
SELECT
partition = $PARTITION.MyParitionFunc([ParitionDate])
,rows = COUNT(*)
,min = MIN([ParitionDate])
,max = MAX([ParitionDate])
FROM [MyTable]
GROUP BY $PARTITION.MyParitionFunc([ParitionDate])
ORDER BY PARTITION
具体可以参照MSDN:从已分区表和索引中查询数据和元数据
- ››SQLServer 游标简介与使用说明
- ››优化精髓之商业性网站常遇见的问题和误区
- ››优化增强您的Visual C++应用程序
- ››优化Windows 7错误报告弹出提示窗口
- ››优化您的 Apache Geronimo 发行版
- ››sqlserver游标概念与实例全面解说
- ››SqlServer性能优化——Slide Window
- ››优化迅游设置,台服魔兽全面加速
- ››性能更优越?教您了解64位Office 2010
- ››SqlServer性能优化:Partition(创建分区)
- ››SqlServer性能优化:Partition(管理分区)
- ››SQLServer2005中的uniqueidentifier数据类型与NEW...
赞助商链接