使用SQL Server提高连接查询性能

时间:2016-07-24 08:13:42

标签: sql-server-2012

我们希望提高连接查询的效果,索引位于nvarchar(1000)列。

是否在另一种数据类型上使用索引,例如bigint(通过添加其他列并使用原始列上的一些哈希映射函数填充它)来提高性能?

将索引更改为nvarchar(200)而不是nvarchar(1000)会提高性能(假设最长值可以是200个字符)?

1 个答案:

答案 0 :(得分:0)

索引的性能取决于索引列的行数和大小。

是的,使用hashmap添加附加列,使用和索引,这可能会略微提高SQL查询的性能,因为索引将更小并且sql将更快地在内存中使用它们。但是您必须在其他地方计算哈希映射,因此应用程序的最终性能不会更高。还有一个问题是大量数据的hashmap工作不可预测。(navchar的n值可以有1个hashmap)。所以我最后会说,这不是个好主意。

将navchar(1000)更改为navchar(200)听起来好一点。索引将更小,更快,新值的插入也将更快,最重要的是,它将是稳定的。但性能差异不会那么光彩。