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

首頁 > 數據庫 > SQL Server > 正文

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

2024-08-31 00:47:41
字體:
來源:轉載
供稿:網友

  用于原生 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 架構命名空間,則還必須從表中刪除該命名空間以保持一致性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清原| 萍乡市| 闵行区| 虹口区| 东台市| 九龙城区| 高唐县| 聊城市| 延吉市| 三明市| 嘉峪关市| 泾源县| 陆丰市| 开封市| 新河县| 平昌县| 句容市| 南投县| 苏尼特左旗| 东丽区| 常德市| 白银市| 金山区| 宁阳县| 庆阳市| 宣威市| 汉中市| 玛纳斯县| 顺平县| 曲沃县| 桐庐县| 多伦县| 湘西| 南溪县| 利川市| 嵊州市| 岐山县| 卢湾区| 察隅县| 海门市| 自贡市|