设为首页 收藏本站
查看: 3274|回复: 6

[经验分享] 微软认证考试70-461 Work with Data 数据处理 --27%比重--(5.5)

[复制链接]

尚未签到

发表于 2013-3-8 08:56:28 | 显示全部楼层 |阅读模式

附注:微软认证考试70-461范围

  • Create Database Objects创建数据库对象 (24%)
  • Work with Data数据处理 (27%)
  • Modify Data数据修改 (24%)
  • Troubleshoot & Optimize故障排解及SQL优化 (25%)

本文是第二节Work with Data 数据处理 。

第一部分直通车

第二部分直通车

第三部分直通车

第四部分直通车

第五部分:Query and manage XML data. May include but not limited to: understand xml datatypes and their schemas and interop w/, limitations & restrictions; implement XML schemas and handling of XML data; XML data: how to handle it in SQL Server and when and when not to use it, including XML namespaces; import and export xml; xml indexing. XML数据的查询与管理。可能包含但不仅限于:理解XML类型,架构,交互,局限性和约束性;实现XML架构和XML数据的处理;了解什么时候使用XML比较恰当,包括XML命名空间;导入导出XML;XML索引。考试归来,XQUERY基础知识和XML 数据类型方法并没有考到,而且这部分考试中也没明确指出包含这些知识,因此了解即可。
参考:http://msdn.microsoft.com/zh-cn/library/ms189075.aspx
http://msdn.microsoft.com/zh-cn/library/ms190798.aspx


XML索引XML索引包括主XML索引和辅助XML索引。xml 类型列的第一个索引必须是主 XML 索引。
主XML索引

主 XML 索引对 XML 列中 XML 实例内的所有标记、值和路径进行索引。若要创建主 XML 索引,相应 XML 列所在的表必须对该表的主键创建了聚集索引。SQL Server 使用此主键将主 XML 索引中的行与包含此 XML 列的表中的行关联起来。

主 XML 索引是 xml 数据类型列中的 XML BLOB 的已拆分和持久的表示形式。对于列中的每个 XML 二进制大型对象 (BLOB),索引将创建数个数据行。该索引中的行数大约等于 XML 二进制大型对象中的节点数。当查询检索完整的 XML 实例时,SQL Server 会提供此 XML 列中的实例。XML 实例中的查询使用主 XML 索引,并可以通过使用索引本身返回标量值或 XML 子树。

辅助XML索引

为了增强搜索性能,可以创建辅助 XML 索引。必须有了主 XML 索引才能创建辅助索引。辅助索引的类型如下:

  • PATH 辅助 XML 索引

  • VALUE 辅助 XML 索引

  • PROPERTY 辅助 XML 索引


PATH 辅助 XML 索引

如果查询通常对 xml 类型列指定路径表达式,则 PATH 辅助索引可以提高搜索的速度。如本主题前面所述,当查询在 WHERE 子句中指定 exist() 方法时主索引非常有用。如果添加 PATH 辅助索引,则您还可以改善此类查询的搜索性能。

虽然主 XML 索引避免了在运行时拆分 XML 二进制大型对象,但是它不会为基于路径表达式的查询提供最好的性能。由于是按顺序在与 XML 二进制大型对象相对应的主 XML 索引中的所有行中搜索大 XML 实例,所以按顺序搜索可能会很慢。这种情况下,对主索引中的路径值和节点值生成辅助索引可以有效地提高索引搜索的速度。在 PATH 辅助索引中,路径值和节点值是允许在搜索路径时使用更高效的查找功能的键列。查询优化器可以将 PATH 索引用于如下所示的表达式:

  • /root/Location,仅指定一个路径






/root/Location/@LocationID[.="10"],其中路径和节点值均指定。

VALUE 辅助 XML 索引

如果查询是基于值的查询,例如 /Root/ProductDescription/@*[. = "Mountain Bike"] 或 //ProductDescription[@Name = "Mountain Bike"],且没有完 全指定路径或路径包含有通配符,则生成基于主 XML 索引中的节点值所创建的辅助 XML 索引可以更快地获得结果。

VALUE 索引的键列是主 XML 索引的节点值和路径。如果您的工作负荷涉及到查询 XML 实例中的值,但不知道包含这些值的元素名称或属性名称,则 VALUE 索引可能会很有用。例如,以下表达式受益于 VALUE 索引:

  • //author[LastName="someName"],其中 <LastName> 元素的值已知,但是 <author> 父级可以出现在任何地方。

  • /book[@* = "someValue"],其中查询将查找包含值为 "someValue" 的属性的 <book> 元素。



PROPERTY 辅助索引

从单个 XML 实例检索一个或多个值的查询适用 PROPERTY 索引。当使用 xml 类型的 value() 方法检索对象属性并且知道对象的主键值时,会发生这种情况。

PROPERTY 索引是对主 XML 索引的列(PK、Path 和节点值)创建的,其中 PK 是基表的主键。

参考:http://msdn.microsoft.com/zh-cn/library/ms191497(v=sql.110).aspx

创建XML索引创建主XML索引

CREATE PRIMARY XML INDEX 索引名 on 【表名】 (列名)创建辅助XML索引
CREATE XML INDEX 辅助索引名称 ON 表名(列名)USING XML INDEX 辅助索引名称FOR PATH;GOCREATE XML INDEX 辅助索引名称 ON 表名(列名)USING XML INDEX 辅助索引名称FOR VALUE;GOCREATE XML INDEX 辅助索引名称 ON 表名(列名)USING XML INDEX 辅助索引名称FOR PROPERTY;GO修改XML索引
通过将选项 ALLOW_ROW_LOCKS 设置为 OFF 来修改该索引。 当 ALLOW_ROW_LOCKS 为 OFF 时,不会锁定行,并且可以使用页级锁和表级锁获得对指定索引的访问权限。

ALTER INDEX 索引名 on 表名 SET (ALLOW_ROW_LOCKS = OFF)禁用XML索引
ALTER INDEX 索引名 on 表名 DISABLE启用XML索引
ALTER INDEX 索引名 on 表名 REBUILD
修改 XML 索引时以下选项不可用:
  • 对于 XML 索引,重新生成和设置选项 IGNORE_DUP_KEY 无效。 对于辅助 XML 索引,重新生成选项 ONLINE 必须设置为 OFF。 在 ALTER INDEX 语句中,不允许 DROP_EXISTING 选项。
  • 对用户表中的主键约束进行的修改不会自动传播到 XML 索引中。 用户必须首先删除 XML 索引,然后再重新创建它们。
  • 如果指定了 ALTER INDEX ALL,则它将应用于非 XML 索引和 XML 索引。 指定的索引选项可能对两种索引无效。 在这种情况下,整个语句将失败。

删除XML索引
如果删除主 XML 索引,则会删除任何现有的辅助索引。

DROP INDEX 索引名 ON 表名使用 DROP_EXISTING 索引选项创建 XML 索引。

CREATE PRIMARY XML INDEX 索引名ON 表名(列名1)CREATE PRIMARY XML 索引名 ON 表名(列名2) WITH (DROP_EXISTING = ON)两个创建XML索引语句使用了相同的索引名,并且第二个指定了DROP_EXISTING选项,因此会删除第一个索引,即使它们创建在不同的列上。




选择性XML索引

选择性 XML 索引是除了普通 XML 索引之外可供您使用的另外一种 XML 索引类型。 选择性 XML 索引功能的目标如下:

  • 改进对在 SQL Server 中存储的 XML 数据的查询性能。

  • 支持更快速地对较大的 XML 数据工作负荷建立索引。

  • 通过减少 XML 索引的存储成本提高可伸缩性。


普通 XML 索引的主要限制是要对整个 XML 文档建立索引。 这导致了主要与索引的存储成本相关的几大缺点,例如降低了查询性能和增加了索引维护成本。

通过选择性 XML 索引功能,您可以从要建立索引的 XML 文档仅提升某些路径。 在创建索引时,将对这些路径进行评估,这些路径所指向的节点将被拆分并存储于 SQL Server 中的关系表内。在大多数情况下,通过创建选择性 XML 索引而不是普通 XML 索引,可以改善性能和提高存储效率。

但在以下条件之一成立时,不推荐使用选择性 XML 索引:

  • 您要映射大量节点路径。

  • 您要为未知元素或文档结构内未知位置中的元素支持查询。


请将下面的 XML 片段视为由大约 500,000 行构成的表中的一个 XML 文档:

[size=1em]Xml




<book>    <created>2004-03-01</created>     <authors>Various</authors>    <subjects>        <subject>English wit and humor -- Periodicals</subject>        <subject>AP</subject>     </subjects>    <title>Punch, or the London Charivari, Volume 156, April 2, 1919</title>    <id>etext11617</id></book>


对由这么多行构成的这个简单架构创建主 XML 索引会用较长的时间。对此数据进行查询还面临这样一个问题,即主 XML 索引不支持选择性索引。

如果您仅需要对 /book/title 路径和 /book/subjects 路径查询此数据,则可以创建以下选择性 XML 索引:

[size=1em]Transact-SQL




CREATE SELECTIVE XML INDEX 索引名ON 表名(列名)FOR (    pathTitle = '/book/title/text()' AS XQUERY 'xs:string',     pathAuthors = '/book/authors' AS XQUERY 'node()',    pathId = '/book/id' AS SQL NVARCHAR(100))


前面的语句是您在创建选择性 XML 索引时使用的 CREATE 语法的一个很好的例子。在 CREATE 语句中,您首先为索引提供名称,并且标识要建立索引的表和 XML 列。然后,您提供要建立索引的路径。一个路径由三个部分构成:

  • 唯一标识该路径的名称。

  • 描述该路径的 XQuery 表达式。

  • 可选的优化提示。


支持的 XML 功能

选择性 XML 索引在 exist()、value() 和 nodes() 方法内支持 SQL Server 所支持的 XQuery。

  • 对于 exist()、value() 和 nodes() 方法,选择性 XML 索引包含用于转换整个表达式的足够信息。

  • 对于 query() 和 modify() 方法,选择性 XML 索引只能用于节点筛选。

  • 对于 query() 方法,选择性 XML 索引不用于检索结果。

  • 对于 modify() 方法,选择性 XML 索引不用于更新 XML 文档。



不支持的 XML 功能

选择性 XML 索引不支持在 XML 的 SQL Server 实现中支持的以下功能:

  • 对具有复杂 XS 类型的节点建立索引:联合类型、序列类型和列表类型。

  • 对具有二进制 XS 类型的节点建立索引:例如 base64Binary 和 hexBinary。

  • 使用在末尾包含通配符 * 的 XPath 表达式指定要建立索引的节点:例如 /a/b/c/*、/a//b/* 或 /a/b/*:c。

  • 对子级、属性或后代以外的任何轴建立索引。 //<step> 的情况允许作为特例。

  • 对 XML 处理指令和注释建立索引。

  • 通过使用 id() 函数为节点指定和检索标识符。



必备条件

必须首先满足以下必备条件,然后才能对用户表中的 XML 列创建选择性 XML 索引:

  • 聚集索引必须存在于用户表的主键上。

  • 在用于选择性 XML 索引时,用户表的主键限制为 128 字节大小。

  • 在用于选择性 XML 索引时,用户表的聚集键限制为 15 列。



限制

一般要求和限制

  • 只能对单个 XML 列创建各个选择性 XML 索引。

  • 不能对非 XML 列创建选择性 XML 索引。

  • 表中的每个 XML 列只能具有一个选择性 XML 索引。

  • 每个表最多可具有 249 个选择性 XML 索引。


对支持的对象的限制

不能对以下对象创建选择性 XML 索引:

  • 视图中的 XML 列。

  • 具有 XML 列的表值变量。

  • XML 类型变量。

  • 计算出的 XML 列。

  • 深度超过 128 个嵌套节点的 XML 列。



与存储相关的限制

对于可添加到索引中的 XML 文档中的节点数有一定的限制。 选择性 XML 索引将 XML 文档映射到单个关系表。 因此,在表的任何给定行中,选择性 XML 索引不能具有超过 1024 个非 Null 列。 此外,针对稀疏列的许多限制也适用于选择性 XML 索引,因为这些索引使用稀疏列来进行存储。

在任何给定行中支持的非 Null 列的最大数目依赖于列中的数据大小:

  • 在最佳情形下,在所有列的类型均为 bit 时支持 1024 个非 Null 列。

  • 在最差情形下,在所有列均为 varchar 类型的大型对象时仅支持 236 个非 Null 列。


选择性 XML 索引为建立索引的每个节点路径在内部使用一到四个列。 可建立索引的节点总数从 60 个节点到几百个节点不等,具体数目取决于已建立索引的路径中数据的实际大小。

  • 在最差情形下,在节点路径定义中使用 // 映射某些或所有节点时,已建立索引的节点的最大数目是 60。

  • 在最佳情形下,在节点路径定义中未使用 // 映射节点时,已建立索引的节点的最大数目是 200。


在您使用 CREATE 或 ALTER 语句对索引执行操作时,将重新生成选择性 XML 索引。

在您使用 CREATE 或 ALTER 语句对选择性 XML 索引执行操作时,将在单线程的脱机模式下重新生成该索引。 频繁使用 ALTER 语句会对针对已建立索引的 XML 文档执行的查询的性能造成负面影响。

其他限制

  • 在查询提示中不支持选择性 XML 索引。

  • 在数据库优化顾问中不支持选择性 XML 索引和辅助选择性 XML 索引。


修改选择性XML索引ALTER INDEX 索引名ON 表名FOR (    ADD pathSubjects = '/book/subjects' as XQUERY 'node()' ,    REMOVE pathId)删除选择性索引
DROP INDEX 索引名 ON 表名

参考:http://msdn.microsoft.com/zh-cn/library/ms191497.aspx



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-3644-1-1.html 上篇帖子: 微软认证考试70-461 Work with Data 数据处理 --27%比重--(5.4) 下篇帖子: 微软认证考试70-461 Modify Data 数据修改 --24%比重--(1) 微软认证 考试

尚未签到

发表于 2013-3-14 02:49:25 | 显示全部楼层
路过,学习下

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 03:33:06 | 显示全部楼层
写的真的很不错

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 16:50:49 | 显示全部楼层
我抢、我抢、我抢沙发~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 08:01:37 | 显示全部楼层
只有假货是真的,别的都是假的!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 20:54:19 | 显示全部楼层
我本非随便的人,但如果你想随便,那我就随你的便好啦!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 10:15:18 | 显示全部楼层
沙发!沙发!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表