国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server索引測試中常用的一些信息

2024-08-31 00:43:35
字體:
供稿:網(wǎng)友

本文講解了再測試使用索引過程中常用的一些信息,如如何獲得索引的信息、如何查看I/O信息等。

1、如何獲得索引的一些信息

比如:查看索引的深度SQL 腳本如下:

select INDEXPROPERTY (OBJECT_ID('ChargeHeap'),'ChargeHeap_NCInd','IndexDepth')

其中的 'ChargeHeap' 為我們要查看索引所在的表名,'ChargeHeap_NCInd' 為所要查看的索引名,'IndexDepth' 為所要查看的索引屬性。

或者我們在 SQL Server Management Studio 中選中我們要查看的索引,然后在右鍵菜單中查看索引的屬性。其中 Fragmentation 標(biāo)簽頁會有很多我們對這個索引感興趣的內(nèi)容。

我們可以在這里看到索引的深度,子節(jié)點數(shù),數(shù)據(jù)頁數(shù)等等信息。這些信息對我們分析查詢語句的性能非常有幫助。

2、如何查看磁盤I/O操作信息

SET STATISTICS IO ON 命令是一個使 SQL Server 顯示有關(guān)由 Transact-SQL 語句生成的磁盤活動量的信息。

我們在分析索引性能的時候,會非常有用。

啟用了這個屬性后,我們在執(zhí)行 SQL 語句后,會收到類似如下的信息,這有利于我們分析SQL的性能:

(3999 row(s) affected)

表 'ChargeCL'。掃描計數(shù) 1,邏輯讀取 9547 次,物理讀取 0 次,預(yù)讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預(yù)讀 0 次。

其中的 lob 邏輯讀取、lob 物理讀取、lob 預(yù)讀 這三個指標(biāo)是 讀取 text、ntext、image 或大值類型 (varchar(max)、nvarchar(max)、varbinary(max)) 時的指標(biāo)。

而邏輯讀取、物理讀取、預(yù)讀 是對普通數(shù)據(jù)頁的讀取。

使用 SQL Server Management Studio Standard Reports

我們在 SQL Server Management Studio 中,選擇數(shù)據(jù)庫服務(wù)器,或者具體數(shù)據(jù)庫,或者Security -- Logins 時,或者M(jìn)anagement 時,Notification Services 或者 SQL Server Agent 對象時候,都會看到SQL Server 替我們提供的一些現(xiàn)成報表,這些報表的數(shù)據(jù),有利于我們分析數(shù)據(jù)庫的狀態(tài)。

比如在 SQL Server 索引基礎(chǔ)知識(1)--- 記錄數(shù)據(jù)的基本格式中,我們就使用數(shù)據(jù)表占用空間的報表

具體報表可以參考以下鏈接:

SQL Server Management Studio Standard Reports - Overview

http://blogs.msdn.com/buckwoody/archive/2007/10/09/sql-server-management-studio-standard-reports-overview.aspx

3、測試中,釋放緩存的一些方法

尤其查詢語句性能測試時,數(shù)據(jù)是否被緩存,這是測試中一個重要點。下面幾個命令幫助我們清除緩存。方便測試。

清除緩存有關(guān)的命令:

SQL 2000里面除了dbcc unpintable好像就沒有了 而且這個操作也不會立即釋放表內(nèi)存Buffer

(DBCC UNPINTABLE does not cause the table to be immediately flushed from the data cache. It specifies that all of the pages for the table in the buffer cache can be flushed if space is needed to read in a new page from disk.)

SQL 2005/2008讓DBA能夠更自由的對SQL所占用的內(nèi)存空間做處理 如:

CHECKPOINT

將當(dāng)前數(shù)據(jù)庫的全部臟頁寫入磁盤。“臟頁”是已輸入緩存區(qū)高速緩存且已修改但尚未寫入磁盤的數(shù)據(jù)頁。CHECKPOINT 可創(chuàng)建一個檢查點,在該點保證全部臟頁都已寫入磁盤,從而在以后的恢復(fù)過程中節(jié)省時間。

DBCC DROPCLEANBUFFERS

從緩沖池中刪除所有清除緩沖區(qū)。

DBCC FREEPROCCACHE

從過程緩存中刪除所有元素。

DBCC FREESYSTEMCACHE

從所有緩存中釋放所有未使用的緩存條目。SQL Server 2005 數(shù)據(jù)庫引擎會事先在后臺清理未使用的緩存條目,以使內(nèi)存可用于當(dāng)前條目。但是,可以使用此命令從所有緩存中手動刪除未使用的條目。

另外還可以 sp_cursor_list 查看全部游標(biāo),DBCC OPENTRAN查看數(shù)據(jù)庫打開事務(wù)狀態(tài)等。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 上杭县| 开江县| 临汾市| 定日县| 新安县| 乌什县| 阳高县| 宜兰市| 龙泉市| 佛冈县| 沙田区| 高唐县| 赤壁市| 罗山县| 柳江县| 甘孜县| 新巴尔虎右旗| 光山县| 且末县| 施甸县| 蒙山县| 昌江| 民权县| 吐鲁番市| 昭平县| 忻城县| 琼海市| 泗水县| 灌阳县| 湖州市| 张家港市| 横峰县| 天祝| 河池市| 赣榆县| 玉环县| 邵阳县| 大田县| 东源县| 丰台区| 安新县|