时间:2021-07-01 10:21:17 帮助过:2人阅读
当前聚集索引键列为:([UserAcount],[UserName])
现考虑4种索引创建方法,到底哪种比较较好!~
-- DROP INDEX IX_TestTab ON [TestTab] CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([UserAcount],[crdatetime]) CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([crdatetime]) CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([crdatetime],[UserAcount]) CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([crdatetime])INCLUDE([value],[Info])
--第一种: CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([UserAcount],[crdatetime])
--第二种: CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([crdatetime])
--第三种: CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([crdatetime],[UserAcount])
--第四种: CREATE NONCLUSTERED INDEX IX_TestTab ON [TestTab]([crdatetime])INCLUDE([value],[Info])
这个锁定的资源就比较直接了!~完全使用非聚集索引查找,查询直接定位到数据行!~
所以对于聚集索引,应尽量使用唯一列作为聚集索引,或者最为键列的数据尽量不要重复,这样才能以最快速度定位到行。若没有唯一列,像上面的例子中,聚集索引和另一个比较有效的列作为组合索引聚集索引!~
SqlServer 聚集索引真的是最好了吗?
标签: