性列!名字真淫荡。
所谓的性列,就是建立非聚集索引时,将一些不是索引字段的字段(所谓非键列),包含进该索引中。为何?好处就是查询时,可以直接从索引中读到这些字段值,不用跑到表中读了,试想,如果这个索引包含了查询语句里面所有要读取的字段,该有多快啊!
此前不知道有这个东东,可能会建一些复合索引,代价比较高。现在看来,搞 性列 不就行啦?
不过还没真正用过,但我想,性列不适宜用在一些很大很长的字段身上。image、text 之类明令禁止,但我想各种varchar(1000),varchar(max)之类也不适合,否则搞到索引比表还大,估计快不到哪里去。
(错了吧,恰恰相反,之所以设置性列,也叫非键列,正是为了照顾这些不适宜做索引的字段,从而起到待查询的数据,本身就在索引中,虽然不是索引列,但沾了索引的光!)