SQL SERVER 2005 XML 最佳實施策略目錄檢視

來源:互聯網
上載者:User

  用於原生 XML 支援的目錄檢視

  • 目錄檢視的目的是提供與 XML 用法有關的中繼資料資訊。下面討論了其中幾個目錄檢視。

  XML 索引

  XML 索引項目出現在目錄檢視 sys.indexes 中,索引"type"為 3。"name"列包含 XML 索引的名稱。

  XML 索引還被記錄在目錄檢視 sys.xml_indexes 中,它包含 sys.indexes 的所有列以及一些對 XML 索引有意義的特殊列。列"secondary_type"中的值 NULL 表示主 XML 索引;值"P"、"R"和"V' "分別代表 PATH、PROPERTY 和 VALUE 輔助 XML 索引。

  XML 索引的空間利用率可以在資料表值函式 sys.fn_indexinfo() 中找到。該函數會提供許多資訊,例如,所佔用的磁碟頁數、平均行大小(位元組)、記錄數以及所有索引類型(包括 XML 索引)的其他資訊。對於每個資料庫分區都會提供這些資訊;XML 索引使用基表的相同資料分割配置和分區函數。

  樣本:XML 索引的空間利用率

SELECT sum(Pages)
FROM  sys.fn_indexinfo ('T', 'idx_xCol_Path' , DEFAULT, 'DETAILED')

  這會產生表 T 中的 XML 索引 idx_xCol_Path 在所有分區中佔用的磁碟頁數。如果不使用 sum() 函數,結果將返回每個分區的磁碟頁利用率。

  檢索 XML 結構描述集合

  XML 結構描述集合在目錄檢視 sys.xml_schema_collections 中被枚舉。XML 結構描述集合"sys"由系統定義,它包含無須明確式載入就可在所有使用者定義的 XML 結構描述集合中使用的預定義命名空間。該列表包含 xml、xs、xsi、fn 和 xdt 的命名空間。其他兩個值得一提的目錄檢視是:sys.xml_schema_namespaces,它枚舉了每個 XML 結構描述集合中的所有命名空間;sys.xml_components,它枚舉了每個 XML 結構描述中的所有 XML 結構描述組件。

  內建的函數 XML_SCHEMA_NAMESPACE(schemaName, XmlSchemacollectionName, namespace-uri) 可產生一個 XML 資料類型執行個體,該執行個體包含 XML 結構描述集合中所含架構(預定義的 XML 結構描述除外)的 XML 結構描述片段。

  可以用下列方式來枚舉 XML 結構描述集合的內容:

  • 在 XML 結構描述集合的適當目錄檢視上編寫 T-SQL 查詢。

  • 使用內建函數 XML_SCHEMA_NAMESPACE()。可以在該函數的輸出上應用 XML 資料類型方法。然而,您無法修改基礎 XML 結構描述。

  • 下面的樣本闡述了這些概念。

  樣本:枚舉 XML 結構描述集合中的 XML 命名空間

  對於 XML 結構描述集合"myCollection"使用以下查詢:

SELECT XSN.name
FROM  sys.xml_schema_collections XSC JOIN sys.xml_schema_namespaces XSN
  ON (XSC.xml_collection_id = XSN.xml_collection_id)
WHERE  XSC.name = 'myCollection'

  樣本:枚舉 XML 結構描述集合的內容

  下面的語句枚舉了關係架構 dbo 中的 XML 結構描述集合"myCollection"的內容。

SELECT XML_SCHEMA_NAMESPACE (N'dbo', N'myCollection')

  通過將目標命名空間指定為 XML_SCHEMA_NAMESPACE() 的第三個參數,可以按 XML 資料類型執行個體的形式擷取該集合中的單獨 XML 結構描述,如下所示。

  樣本:輸出 XML 結構描述集合中的指定架構

  下面的語句從關係架構 dbo 中的 XML 結構描述集合"myCollection"中輸出目標命名空間為"http://www.microsoft.com/books"的 XML 結構描述。

SELECT XML_SCHEMA_NAMESPACE (N'dbo', N'myCollection',
N'http://www.microsoft.com/books')

  查詢 XML 結構描述

  如果您需要查詢已經載入到 XML 結構描述集合中的 XML 結構描述,可以採用下列方式:

  • 在 XML 結構描述命名空間的目錄檢視上編寫 T-SQL 查詢。

  • 除了將 XML 結構描述載入到 XML 類型系統中以外,建立一個包含 XML 資料類型列的表來儲存 XML 結構描述。您可以使用 XML 資料類型方法來查詢 XML 列。而且,您可以在該列上產生 XML 索引。然而,需要由應用程式來維護儲存在 XML 列中的 XML 結構描述與儲存在 XML 類型系統中的 XML 結構描述之間的一致性。例如,如果您從 XML 類型系統中刪除了 XML 結構描述命名空間,則還必須從表中刪除該命名空間以保持一致性。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。