【发布时间】:2017-06-29 07:29:17
【问题描述】:
我的问题是,我需要聚集索引还是非聚集索引。 这是我的情况:
我有一张带 appr 的桌子。 100.000.000 条记录。 设计是: tbl大: Col1 varchar(30) 不为空 Col2 varchar(12) 不为空 col3 Varchar(30) 不为空 insertTime 数据时间
我只做插入(很多插入。每天大约 15.000.000 个)。从不更新或删除(我不时截断表格)
唯一的选择是: 从 tblLarge 中选择 Col1,其中 Col2 = 'some data' order by insertTime desc - 这个选择是不断执行的。
Col2 不是唯一的,但绝不为空。
问题: 1)在我的情况下,哪种索引最适合应用于表? 当然,我需要一个关于 Col2 的索引。它应该是集群的还是非集群的? (有人曾经告诉我,表总是应该有一个 CLUSTERED 索引,但我不确定这是否正确)
2) NOLOCK 提示是好还是坏的做法? (我不介意选择是否读取未提交的数据) select Col1 from tblLarge(NOLOCK) where Col2 = 'some data' order by insertTime desc
提前致谢
【问题讨论】:
标签: sql-server indexing