Sql server 2008 SQL Server分区性能问题
我有以下情况:Sql server 2008 SQL Server分区性能问题,sql-server-2008,indexing,partitioning,Sql Server 2008,Indexing,Partitioning,我有以下情况: TableA (ID GUID, Type INT) : +60M rows TableB (ID GUID) : +5M rows TableA有一个关于ID和类型的索引 表B主键是ID 我需要改进以下查询: SELECT * FROM TableA A INNER JOIN TableB B ON A.ID = B.ID AND A.Type = 5 完成查询大约需要30秒 我们已经尝试在Type列上对TableA进行分区,但查询执行时间保持不变。即使是执行计划也是
TableA (ID GUID, Type INT) : +60M rows
TableB (ID GUID) : +5M rows
TableA有一个关于ID和类型的索引
表B主键是ID
我需要改进以下查询:
SELECT * FROM TableA A
INNER JOIN TableB B
ON A.ID = B.ID AND A.Type = 5
完成查询大约需要30秒
我们已经尝试在Type列上对TableA进行分区,但查询执行时间保持不变。即使是执行计划也是一样的。据我所知,分区表应该会大大提高性能
我是否必须调整查询以使用分区从而提高性能?
我的索引错了吗
提前谢谢 您是认为分区是一个神奇的开关,按下它可以提高性能的人之一。分区在很大程度上降低了性能,并在少数情况下有所帮助。它主要是用于批量加载和数据归档/删除的管理功能 分割会带来严重后果,如果没有正确的理解、规划和测试,就无法进行分割 创建适当的索引(在您的情况下,
A(Type,ID)
将是一个良好的开端。或者,A(ID),其中Type=5
(过滤索引))。您的意思是A(Type,ID)
。列Type
在表A
中。