作者hackerick4 (窝颗颗)
看板Database
标题[SQL ] 非丛集索引的栏位顺序影响
时间Fri May 3 13:14:20 2019
资料库名称:MSSQL
资料库版本:2016
内容/问题描述:
想与各位讨论一个效能上的议题,在替某张表建置非丛集式索引时,顺序是有关系的吗?
举个例子,有一张表 T, 其中有四个栏位分别为 A, B, C, D,其中A为PK, 其余四个我想建
建立时的语法如下
create nonclustered index IX_T on T (
B,
C,
D,
)
而我常对这张表搜寻的条件是
WHERE D>x and C>y and B>z
此搜寻条件顺序 与 建立非丛集索引时的顺序不一致,请问这样会有效能上的影响吗?
有上网爬过文,这题的答案算是百家争鸣
所以想请教板上的高手看法,谢谢。
-----
Sent from JPTT on my Google Pixel 3.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.46.117.15
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1556860462.A.4C2.html
※ 编辑: hackerick4 (114.46.117.15), 05/03/2019 13:14:51
※ 编辑: hackerick4 (114.46.117.15), 05/03/2019 15:53:58
※ 编辑: hackerick4 (114.46.117.15), 05/03/2019 15:54:45
1F:推 rockchangnew: 基本上这索引无效,因爲你是B排首位,但是你的where05/03 18:24
→ rockchangnew: 条件并无B栏位
推 a926: 不管怎样都要有B
漏打了B, 但回归问题本质,顺序会有影响吗?
05/03 19:38
※ 编辑: hackerick4 (140.134.18.38), 05/04/2019 08:13:58
※ 编辑: hackerick4 (140.134.18.38), 05/04/2019 08:15:18
2F:推 rockchangnew: 顺序没差 05/04 14:29