在SQL Server數(shù)據(jù)庫中,有可能存在重復(fù)的索引(Duplicate Indexes),這個不僅影響性能(INSERT、UPDATE、DELETE時帶來額外的IO開銷,當數(shù)據(jù)庫維護,索引重組時也會帶來額外的開銷),而且占用空間。數(shù)據(jù)庫存在重復(fù)索引(Duplicate Indexes)的原因是多方面的,很多時候、很多事情不是你所能完全掌控的,除非你所管理的數(shù)據(jù)庫非常規(guī)范,權(quán)限控制、腳本發(fā)布非常嚴格、流程化。暫且不說這些,那么怎么在數(shù)據(jù)庫巡檢過程找出這些重復(fù)的索引(Duplicate Indexes)呢? 下面分享一個我在Premier Proactive Services中發(fā)現(xiàn)一個的腳本(做了一些修改和調(diào)整)。

 

我們以AdventureWorks2014數(shù)據(jù)庫為例,如下所示,表[Person].[Address]下有4個索引,如下所示

 

clipboard

 

假設(shè)某個二愣子在這個表的字段StateProvinceID上創(chuàng)建了下面重復(fù)索引,IX_Address_N1 與IX_Address_StateProvinceID是一個重復(fù)索引。

 
CREATE INDEX IX_Address_N1 ON [Person].[Address](StateProvinceID);

 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式