日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SQL Server 聚集索引和非聚集索引的區別

系統 2336 0

非聚集索引和聚集索引的區別

不在不會詳細說明非聚集索引和聚集索引的結構有什么不一樣,因為這種東西網上已經說的很多了。

一個表一旦建立了聚集索引,那么那張表就是一張被b樹重新組織過的表。

而沒聚集索引表就是一個堆表。

什么是b樹,什么是堆表就不解釋了。

小弟對,非聚集索引狀況下 和 聚集索引狀況下的 常量綁定和變量綁定做了測試。

會發在這邊是因為聚集索引的變量綁定的執行計劃,和非聚集索引的變量綁定的執行計劃不一樣。

      
        use
      
       northwind
      


CREATE INDEX idx_orderdate_orders ON dbo.Orders(OrderDate)
DBCC FREEPROCCACHE
SELECT * FROM Orders WHERE OrderDate > ' 19990101 '
DBCC FREEPROCCACHE
DECLARE @fromdate_copy datetime
SELECT @fromdate_copy = ' 19990101 '
SELECT * FROM Orders WHERE OrderDate > @fromdate_copy

DROP INDEX idx_orderdate_orders ON dbo.Orders
go
CREATE CLUSTERED INDEX cidx_orderdate_orders ON dbo.Orders(OrderDate)
DBCC FREEPROCCACHE
SELECT * FROM Orders WHERE OrderDate > ' 19990101 '
DBCC FREEPROCCACHE
DECLARE @fromdate_copy datetime
set @fromdate_copy = ' 19990101 '
SELECT * FROM Orders WHERE OrderDate > @fromdate_copy

DROP INDEX cidx_orderdate_orders ON dbo.Orders

執行計劃結果:

SQL Server 聚集索引和非聚集索引的區別

SQL Server 聚集索引和非聚集索引的區別

結果顯而易見了,變量綁定對非聚集索引和聚集索引執行計劃不一樣。

有人看了執行計劃就會說,orderdate 沒有走索引很正常啊,可能是選擇度不夠。但是用常量綁定的時候就用了索引查詢。

所以這種解釋是不通的。

聚集索引下,使用了索引查找,非聚集索引下,使用了表掃描。

原因何在,本人也不知道。這個就要問問寫優化器的人,也同時希望知道內情的人透露一下。

和大家分享。

SQL Server 聚集索引和非聚集索引的區別


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 衡阳县| 天峨县| 寻乌县| 精河县| 永泰县| 竹溪县| 富顺县| 淮安市| 页游| 明光市| 达拉特旗| 沈丘县| 巴林右旗| 昭觉县| 临颍县| 留坝县| 五大连池市| 禹城市| 化隆| 汉寿县| 中方县| 昌平区| 宁国市| 湄潭县| 镇宁| 铁岭市| 会昌县| 惠东县| 天等县| 德庆县| 新建县| 宁强县| 中方县| 舞钢市| 龙岩市| 中西区| 荔波县| 江山市| 馆陶县| 蓬安县| 柘荣县|