使用過(guò)濾索引后,需要更新的索引變少了。然而,包含這些記錄的索引仍然需要在記錄修改時(shí)進(jìn)行更新。
因?yàn)檫@些操作必須在每一次數(shù)據(jù)修改時(shí)進(jìn)行,您應(yīng)該把數(shù)據(jù)庫(kù)中不用于查詢數(shù)據(jù)的索引刪除。這樣可以減少數(shù)據(jù)庫(kù)的I/O需求和數(shù)據(jù)庫(kù)的大小。
為了查找不使用的索引,可以使用如下所示的查詢語(yǔ)句去查詢sys.dm_db_index_usage_stats動(dòng)態(tài)管理視圖。
SelectOBJECT_NAME(sys.indexes.object_id)?TableName,
sys.indexes.name, sys.dm_db_index_usage_stats.user_seeks, sys.dm_db_index_usage_stats.user_scans, sys.dm_db_index_usage_stats.user_lookups, sys.dm_db_index_usage_stats.user_updates fromsys.dm_db_index_usage_stats joinsys.indexesonsys.dm_db_index_usage_stats.object_id=sys.indexes.object_id ANDsys.dm_db_index_usage_stats.index_id?=sys.indexes.index_id ANDsys.indexes.name?notlike‘PK%’ ANDOBJECT_NAME(sys.indexes.object_id)<>‘sysdiagrams’ wheresys.dm_db_index_usage_stats.database_id?=DB_ID() and?user_scans?=?0 and?user_scans?=?0 and?user_lookups?=?0 and?user_seeks?=?0 andsys.dm_db_index_usage_stats.index_id?NOTIN(0,1) ORDERBYOBJECT_NAME(sys.indexes.object_id), sys.indexes.name |
創(chuàng)建文件組
提高索引性能的一個(gè)重要方法是創(chuàng)建一個(gè)或多個(gè)文件組,以存儲(chǔ)非聚簇索引。只有非聚簇索引能夠與索引所對(duì)應(yīng)的表可以存儲(chǔ)在不同的文件組中。如果您想要在與表不同的文件組中創(chuàng)建一個(gè)聚簇索引,不管它是否基于主鍵,SQL Server都會(huì)將表移動(dòng)到這個(gè)新的文件組中。
將非聚簇索引與基本表分離可以將索引的存儲(chǔ)和I/O需求從索引對(duì)應(yīng)的表轉(zhuǎn)移到其他文件組中,可以減少您對(duì)索引修改操作的時(shí)間。雖然在您的數(shù)據(jù)庫(kù)中使用多個(gè)文件組會(huì)增加數(shù)據(jù)庫(kù)的管理負(fù)載,但是最終這個(gè)改進(jìn)是值得的。
當(dāng)為第二個(gè)文件組創(chuàng)建物理文件時(shí),一定要將文件保存到另一組物理磁盤上,這樣工作負(fù)載才能實(shí)際上轉(zhuǎn)到不同的區(qū)域。如果兩個(gè)物理文件都存儲(chǔ)于同一個(gè)物理區(qū)域,那么即使您能獲得一些性能提升,這個(gè)提高也不會(huì)很大。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
