在解释什么是索引之前,先介绍一下SQLsever 访问数据的方式
1、全表扫描:查询表中的每一行(表中的数据全都查询出来),当发现和查询条件匹配的行时,就返回到结果集中 。
2、使用索引:当查询的表建有索引时,且查询的走的是索引查询,那么表查询时不会去把表里所以的数据都查询出来,只会匹配一部分。
例:查找书中的内容(查找高中数学中的正玄函数部分)
1、全表扫描查找方式:一页一页的核对,只要有正玄函数的部分都给查找出来,必须要把这个本书的所有页码都进行核对,然后反馈(没有给数学书建目录)
2、索引:将数学书按照一定得顺序排列好并标注好对应模块的目录页码(建索引需要做的事),查询的时候直接把数学书的目录进行对比,然后找到对应的内容,这样就不用把整本书都查找完,效率肯定比全表扫描快的多(前提是:表的数据量足够大,当表的数据很少很少时,索引要比全表扫描慢)
一、什么是索引(索引什么?)
索引定义:索引是一种单独的、物理的对数据库表一列或多列的值进行排序的一种 存储结构,它是某表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
索引:(自己的理解)给数据行建一个查找目录,查找数据行时可以根据目录(索引)快速的定位到数据行,从而到达 提高查询效率 的目的。
1、元数据:管理数据的数据
2、平衡树(B-树)结构理解:
例: 以书为例,将书分为:一级目录、二级目录、三级目录、具体内容标题和具体的内容;那么B-树对应的书的目录为:
根节点:一级目录
非叶级数据:二级目录、三级目录
叶级数据:具体内容标题和具体的内容
————————————————
版权声明:本文为CSDN博主「适合不合适」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42197986/article/details/109258187
SQLserver 索引
分享好友
分享这个小栈给你的朋友们,一起进步吧。
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)
技术专家
查看更多- itt0918专家