比较长的文本字段,比如存储URL的字段,可能类型为VARCHAR(300),如果要对这个字段建立非聚集索引,由于非聚集索引本身存储了索引字段的值,所以这个索引一定也比较大。耗费存储空间、内存空间不说,比较的性能也好不到哪里去。
对于这种情况,可以使用CheckSum方法创建该字段的计算列,然后为此计算列创建索引。
CheckSum,
CREATE TABLE Employee (
EmployeeID INT
, FirstName VARCHAR(50)
, LastName VARCHAR(50)
, EmailAddress VARCHAR(255)
, EmailAddressCheckSum AS CHECKSUM(EmailAddress))
当然,这种改动,以增加CPU负担为代价。不过,数据库的性能常常在磁盘、内存上,很少是CPU的问题。