自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2005缺失索引的找回方案

數(shù)據(jù)庫 SQL Server
我們今天是要和大家一起討論的是SQL Server 2005缺失索引的找回方案,以及對其在實際操作中需要建立的相關(guān)索引的描述。

以下的文章主要描述的是SQL Server 2005缺失索引的找回方案,在SQL Server 2005 數(shù)據(jù)庫中有幾個新的特性,其可以幫我們找回丟失一些索引,這是一些非常好的特性,但基于您的工作項,我們?nèi)绾沃佬枰⒛男┧饕?

 

在SQL Server 2000 ,我們不得不使用SQL事件探查器跟蹤文件和索引優(yōu)化向?qū)А?/p>

 

在SQL Server 2005 中有幾個新特性,可以幫助我們找回丟失的索引,這是一些非常好的特性,但基于您的工作項,我們?nèi)绾沃佬枰⒛男┧饕?

 

在SQL Server 2000 ,我們不得不使用SQL事件探查器跟蹤文件和索引優(yōu)化向?qū)?。但在SQL Server 2005中我們可以采用動態(tài)管理視圖(DMVs) ,就能很容易知道我們需要建立哪些索引,以利于我們的應(yīng)用程序。

 

以下是SQL Server 2005缺失索引相關(guān)的動態(tài)管理視圖(DMVs)和函數(shù)列表:

 

動態(tài)管理視圖和函數(shù)

 

說明

sys.dm_db_missing_index_group_stats 返回缺失索引組的摘要信息。如實現(xiàn)此缺失索引組后,系統(tǒng)查詢可能獲得的平均百分比收益;實現(xiàn)此缺失索引組后,用戶查詢可能獲得的平均百分比收益。

 

sys.dm_db_missing_index_groups 返回有關(guān)特定SQL Server 2005缺失索引組中包含的缺失索引的信息,如返回標識SQL Server 2005缺失索引組。

 

sys.dm_db_missing_index_details 返回有關(guān)缺失索引的詳細信息,如返回標識索引缺失的表;索引缺失的表的名稱;返回用于查詢的涵蓋列的逗號分隔列表。

 

sys.dm_db_missing_index_columns 返回有關(guān)缺失索引的數(shù)據(jù)庫表列的信息。這是動態(tài)管理函數(shù)。

 

以下我們以AdventureWorks 數(shù)據(jù)庫中[Person.Address] 表為例,看看如何使用上述這些動態(tài)管理函數(shù),找回缺失的索引。

通過運行以下腳本,讓我們來看看AdventureWorks 數(shù)據(jù)庫中[Person.Address] 表有哪些索引?

 

use AdventureWorks;

exec sp_helpindex [Person.Address]

 

執(zhí)行后的結(jié)果,如圖1所示:

執(zhí)行sp_helpindex后的結(jié)果

在[Person.Address]表中,我們看不到 ModifiedDate列的索引。因此我們需要執(zhí)行“sys.dm_db_missing_index_details”以查看詳細信息,在執(zhí)行這個視圖之前,我們需要先執(zhí)行以下的SQL語句:

 

查詢1:

 

 

  1. select * from Person.Address where ModifiedDate = '01/01/2008' 

 

上面這個語句執(zhí)行后,您可能不會看到任何結(jié)果,但SQL Server的內(nèi)部將記錄下,用戶曾經(jīng)執(zhí)行了一個查詢操作和一個針對“ModifiedDate”列的索引,將在后續(xù)操作中將會用到。

 

查詢2:

 

 

  1. select * from sys.dm_db_missing_index_details: 

 

執(zhí)行后的結(jié)果如圖2所示:

 

執(zhí)行sys.dm_db_missing_index_details后的結(jié)果

在上圖中,我們可以看到“equality_columns”這個字段,上圖表明 [Modified Date] 著一列的索引已經(jīng)遺失。

 

查詢 3:

  1. select db_name(d.database_id) dbname, object_name(d.object_id) tablename, d.index_handle,   
  2. d.equality_columns, d.inequality_columns, d.included_columns, d.statement as fully_qualified_object, gs.*   
  3. from sys.dm_db_missing_index_groups g   
  4. join sys.dm_db_missing_index_group_stats gs on ggs.group_handle = g.index_group_handle   
  5. join sys.dm_db_missing_index_details d on g.index_handle = d.index_handle   
  6. where dd.database_id = d.database_id and dd.object_id = d.object_id   
  7. and object_name(d.object_id) = 'Address'  

先執(zhí)行查詢1若干次,然后執(zhí)行查詢 3

 執(zhí)行查詢3后的結(jié)果

在中請大家注意“user_seeks”字段,每一次查詢,該字段都將發(fā)生變化,因為 SQL Server的不斷更新遺失索引的動態(tài)管理視圖(DMVs) 。這非常重要,基于這些信息,我們可以創(chuàng)建索引,以支持這些查詢。

 

針對遺失索引的動態(tài)管理視圖是SQL2005中的一個重要新功能,可以幫助我們創(chuàng)建遺失的索引。

以上的相關(guān)內(nèi)容就是對SQL Server 2005缺失索引的找回的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server 2008稀疏列與列集的經(jīng)驗總結(jié)
  2. SQL Server 2008 FileStream支持“真功夫版”
  3. SQL Server 2005兩種快照隔離機制的不同之處
  4. SQL Server排序遇到NULL,不怕不帕!
  5. SQL Server獲取表的容量很簡單!

 

責(zé)任編輯:佚名 來源: TechTarget中國
相關(guān)推薦

2010-07-26 10:04:43

SQL Server

2010-06-17 15:24:51

SQL SERVER

2010-07-13 17:25:55

SQL Server

2010-07-09 15:04:25

SQL Server

2010-07-19 10:15:33

SQL Server2

2010-06-17 15:09:49

SQL Server

2010-07-23 12:55:29

SQL Server

2011-02-28 17:41:20

SQL Server

2010-07-09 11:06:13

SQL Server

2010-06-30 08:34:27

SQL Server

2011-03-29 15:27:26

SQL Server 動態(tài)管理

2010-10-21 15:13:20

SQL Server系

2010-09-03 10:40:30

SQL刪除

2011-09-01 16:13:37

Visual StudSQL Server 存儲過程

2010-07-07 10:31:43

SQL Server數(shù)

2010-07-09 14:59:15

2010-07-13 16:48:14

SQL Server

2010-07-13 10:11:48

SQL Server

2010-06-29 17:45:22

SQL Server

2010-05-07 13:40:07

點贊
收藏

51CTO技術(shù)棧公眾號