看板 Database 關於我們 聯絡資訊
資料庫名稱: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://www.ptt.cc/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
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
rockchangnew: 順序沒差 05/04 14:29