SQL Server索引性能 – 长列
在SQL Server(2005)中,我需要索引一个列(仅限完全匹配),即nvarchar(2000).什么是最具可扩展性,高性能的方法?
在SQL Server(2005)中,使用以下类型对列进行索引的实际区别是什么: > nvarchar(2000) 例如.对索引二进制(16)列的查找是否明显快于对索引的nvarchar(2000)的查找?如果是这样,多少钱? 显然小在某些方面总是更好,但我不太熟悉SQL Server如何优化其索引以了解它如何处理长度. 解决方法你从错误的方向思考这个问题:>创建满足性能目标所需的索引 无论列是二进制(16)还是nvarchar(2000)都没有什么区别,因为你不要只是不加考虑地添加索引. 不要让索引选择决定您的列类型.如果需要索引nvarchar(2000),请考虑全文索引或为列和索引添加哈希值. 根据您的更新,我可能会使用HashBytes()函数和索引创建校验和列或计算列.请注意,校验和与加密哈希值不同,因此您更有可能发生冲突,但您也可以匹配文本的全部内容,并且它将首先使用索引进行过滤. HashBytes()不太可能发生冲突,但它仍然可能,因此您仍然需要比较实际列.对每个查询和每次更改计算哈希值,HashBytes也更昂贵. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |