SQLServer聚焦索引对非聚集索引的影响分析

SQLServer聚焦索引对非聚集索引的影响分析
前言

在SQL 2012学习过程的基础教程,偶尔会穿插其他内容进行讲解,我相信阅读SQL Server 2012 T-SQL基础教程孩子知道并不是所有的内容写在书的前面的内容被复制,那么它将没有任何意义,学习过程必须在同时也是一个思考的过程,无论是独立思考或查资料或是思维不只是,或在一段时间内会忘记。短的内容,深刻理解。

话题

非聚集索引定义:非聚集索引也是B树结构。与聚集索引不同,B树的叶节点存储指向堆或聚集索引的指针。你能举个例子吗事实上,这一节的结尾是为了表达这个意思,这个定义太长了,我们抽象了一点定义并得出了最后的结论,请往下看。

聚集指数对非聚集指数的影响

聚类索引和非聚集索引的概念、原理和创建将不进一步描述。如果你不太了解,请向公园里的其他花园朋友们咨询。

首先,我们创建一个测试表
使用sqlstudy

创建表{ } { }(测试dbo。
{ }不为null,
{一} { nchar }(10)空,
{二} { nchar }(10)空

然后让我们再次创建测试数据。
插入{ sqlstudy }。{ } { } dbo。试验({id},{一},{二})
选择1,'first1 ','second1
联盟的所有
选择2,'first2 ','second2
联盟的所有
选择3,'first3 ','second3
联盟的所有
选择4,'first4 ','second4
联盟的所有
选择5,'first5 ','second5
然后,我们在表的第一列和第二列上创建一个聚合索引,如下所示
创建非聚集索引{ } { }对ix_mytable_nonclustered(dbo。{测试}
{第一个ASC,
{第二个ASC

此时,我们同时运行两个查询来查看它的执行计划:最后一个已经说过,请启用包含实际执行的计划。
选择ID
FROM {dbo}.{Test} WHERE {First} ='First1'AND {Second} ='Second1'
选择二
从{ } { }在测试dbo。{第一} = 'first1'and {二} = 'second1

我们在这个时候看到的实施计划如下:
毫无疑问,我们可以得出结论,查询1是全表扫描,使用和查询2使用非聚集索引查找。我们应该毫不怀疑这个结论,因为第二查询第二列创建非聚集索引之前,和身份证查询1,它将导致全扫描查询1查询,而2是非聚集索引查找。

下面我们为表中的列id创建一个聚合索引。
创建聚集索引{ } { }对ix_mytable_clustered(dbo。{测试}
{ ASC

此时,我们再次运行以下查询:
选择ID
从{ } { }在测试dbo。{第一} = 'first1'and {二} = 'second1
选择二
从{ } { }在测试dbo。{第一} = 'first1'and {二} = 'second1
看看此时的查询执行计划。
通过上面我们给栏目ID创建一个聚集索引,我们可以马上知道它们都是用索引来查找的,的确是,但是,你注意到了,眼睛看到了,当我们在列ID中创建的是聚集索引理论时,应该只查聚集索引,啊,这是我们要讨论的问题。

关于问题的讨论

我们将关注这个问题的概述,当我们在列上创建聚集索引时,查询返回列,而查询条件是创建一个非聚集索引,此时创建查询执行计划的聚集索引列是一个非聚集索引搜索,到底发生了什么

实际的情况是一个非聚集索引的内部参考的聚集索引,当聚集索引后,表中的数据将根据物理逻辑排序创建,如果没有创建聚集索引,非聚集索引指向表中的数据和最终数据返回,但是一旦创建非聚集索引聚集指数将指向重建聚集索引,这里的careyson公园的朋友非聚集索引:聚集索引的描述是一个B树结构,与聚集索引不同的是,树的叶子节点存储指针堆或聚集索引的推广是非常精确的。如果我们创建聚集索引,那么非聚集索引的指针将指向聚集索引,否则将指向堆,即表中的数据。

在这一点上,我们可以得出结论,当在检索的列上创建聚集索引(只返回创建聚集索引列)时,查询不使用聚集索引查找来检索结果,而是使用非聚集索引查找来检索结果。

总结

之前我们必须先把这个问题作了一个界定的个人感受,如非聚集索引的定义:非聚集索引B树结构,和聚集索引B树的叶子节点,存储一个指向堆或聚集索引。第一次看到这句话没有什么感觉,一般来说,感觉似乎明白了,当遇到这样的问题时,它实际上是在亏损的理解不够深入或不确定时,当你可以把这一定义或场景的例子,它可能真的理解。这是本文的结束部分。对于SQL,本系列将简要地说明内容和深刻理解。同时,它也会一步步地谈论查询性能问题,从抛出问题到最终解决问题都是大量的商品。

以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一定的帮助。如果有疑问,你可以留言交流,希望你能得到更多的支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部