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 結構描述命名空間,則還必須從表中刪除該命名空間以保持一致性。



相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.