【发布时间】:2013-02-21 22:59:13
【问题描述】:
我有以下场景:
TableA (ID GUID, Type INT) : +60M rows
TableB (ID GUID) : +5M rows
TableA 有一个关于 ID 和类型的索引 TableB的主键是ID
我需要改进以下查询:
SELECT * FROM TableA A
INNER JOIN TableB B
ON A.ID = B.ID AND A.Type = 5
查询大约需要 30 秒才能完成。
我们已尝试在 Type 列上对 TableA 进行分区,但查询执行时间保持不变。甚至执行计划还是一样的。据我了解,对表进行分区应该会大大提高性能?
我是否必须调整查询以使用分区从而提高性能? 我的索引错了吗?
提前致谢!
【问题讨论】:
标签: sql-server-2008 indexing partitioning