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
中。