首页 > 编程知识 正文

作者索引中的“索引”表示,简述什么是索引以及索引的分类

时间:2023-05-03 12:24:27 阅读:254388 作者:2347

关于xdddnp的理解

以前以为的xdddnp,就是在表中的一个主键列,比如id,但其实如果id在没有加特殊意义的情况下,id列就仅仅是一个列,如select student where id = 1001;其实和select student where  name = "rydhb";效率并没有差多少,本质上都需要遍历,而且是全表遍历完,找到where后面对应的条件的行进行返回。而加了主键的话,也只是加了一种约束,即id这一列是非空且唯一的,就是不能有其他学生的id相同,也不能为空,这就是主键约束。

 

什么是xdddnp

说了那么多,那究竟什么是xdddnp呢,xdddnp它是一种数据结构,用来加快搜索的,它本身是需要空间存储的。如果我们在id上加了xdddnp,那么查到的速度能快多少呢?就比如说如果这个xdddnp是二叉树查找树,我们有1000个数据,而id从自然也有1000个,那么如果没加xdddnp的情况下,找到id=99这条数据,需要全表遍历,也就是遍历1000个数据,但是如果有了二叉树xdddnp,它能直接将每个数据行所在的物理地址以二叉树的形式存储起来,如果是完美二叉树的情况下,这个二叉树仅仅需要10层,就能表达处所有的行所在的物理地址,而知道了物理地址,就可以直接找到该行的数据。

 

xdddnp的优势

1000次比较和10次的比较,明显是后者速度更快。如果是1亿条数据呢,如下如仅需要27次对比,而如果全表遍历需要1亿次的对比。所以说二叉树xdddnp能极大的加快查找速度。

 

xdddnp为什么能加快查找

那么,二叉树为什么能加快查找速度呢,其实这就是二叉查找树的范畴了,其实也很简单,就是对于每个子树来讲,左子节点小于根节点,根节点小于右子树,查找时对比根节点,就能确定是走左子树还是右子树,每次对比几乎省去一般的对比量。具体请百度二叉查找树。

 

其他数据结构的xdddnp

本教程只是举个例子,并不是所有的xdddnp都是二叉查找树,也并不是所有的二叉查找树都有这么高效(完美二叉树),因为二叉查找树有可能退化成链表,此时需要遍历的次数依然是1亿次,所以才会有平衡二叉树B树,B+树和红黑树,这些能通过扭转,将退化的结构进行重新的组成,能形成最完美的树形结构。

 

如何创建xdddnp

那么如何创建xdddnp呢?

create   index  index_name  on  table_name( column_name );

具体的例子: create index index_id on student(id);意思就是在student表的id列创建一个名为index_id的xdddnp。

 

其他推荐

还有一篇教程也不错,推荐给大家。

https://blog.csdn.net/qq_36098284/article/details/79841094

TikTok半月报来了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。