当前位置:首页 > 生活

索引是什么意思

2023-08-03 08:18:06人气:71

相信很多程序员朋友都很熟悉数据索引。最常见的索引是b树索引,可以加快数据库的检索速度,但是会降低添加、修改、删除操作的速度,一些写错会导致索引失效。

但是如果问,为什么使用索引后查询更快?b树指数的原理是什么?这个时候很多人可能还不知道。今天我就以mysql innodb引擎为例,谈谈b树索引的原理。

索引基础知识

mysql的基本存储结构是page,大概是这样的:

在这里,我们需要了解以下几点(非常重要):

当我们使用mysql innodb引擎创建一个表时,主键只能有一个;如果我们不明确指定介于,mysql会自动生成一个隐式字段作为主键。

聚集索引:用主键创建的索引;聚集索引的叶节点将数据存储在表中;

非聚集索引:由非主键创建的索引;非聚集索引在叶节点存储主键和索引列。使用非聚集索引查询数据会查询叶子上的主键,然后根据主键查找数据(这个过程称为返回表)。

页面与页面之间以及页面与数据之间的关系

我们用聚集索引来解释,页面和页面之间,以及页面和数据之间的关系如下:

数据页之间形成双向链表。

每个数据页中的记录都是单向链表;

每个数据页根据内部记录生成一个页面目录。如果是主键,可以通过二分法在页面目录中快速定位;

如果我们按照一个非主键、非索引的列进行查询,需要遍历双向链表才能找到页面;遍历页面中的单向链表;如果表中的数据很大,这样的查询会很慢。

二叉树索引的原理

我们先来看看b树索引是什么样子的(以集群/主键索引为例):

如果我们此时要查询id=16的数据:

查询page -1,发现page -2存储的数据小于30;

查询第2页,发现第5页存储了10~20个数据;

查询第5页,找到id=16的数据。

显然,在不使用索引的情况下,需要遍历双向链表来定位对应的页面,而有了索引,就可以通过层层“目录”来定位对应的页面。

为什么b树索引降低了添加、修改和删除的速度

b树是一棵平衡的树。如果您添加、修改或删除此树,它将破坏其原始结构。

当我们添加、修改和删除数据时,我们需要花费额外的时间来维护索引;

由于这些额外的开销,索引会降低添加、修改和删除的速度。

思考考试问题,欢迎留言讨论

现在你明白b树指数的原理了吗?

最后,留下一个深思熟虑的问题:为什么官方建议使用自增长主键作为索引?,你可以在你的信息中写下你的答案。

索引是什么意思(数据库优化的几种方式)

扩展阅读

搜索引擎的工作原理 搜索引擎的工作原理简述

1.首先,在互联网上查找和收集网页信息;同时对信息进行提取和组织,建立索引库;

2.检索器根据用户输入的查询关键词,快速检出索引数据库中的文档,评估文档与查询的相关性,对要输出的结果进行排序,并将查询结果返回给用户。

搜索引擎怎么优化 优化搜索引擎方法

1.搜索引擎优化技巧1:网站整个页面的设计优化。网站布局干净美观。高质量的页面设计。它能给游客带来良好的影响。可以增加用户的重复访问量。这样可以增加网站的流量。这就是人们常说的影响分数。

2.搜索引擎优化技巧2:做好网站首页的内容。制作高质量的内容。不要使水分。只有网站页面设计有吸引力,不能保留。也要让首页有吸引力。让人流连忘返。这样才能留住用户。

3.搜索引擎优化技巧3:网站域名必须选择正确。一个网站的域名相当于一个网站的身份证。一定是比较好记,印象比较深刻。这使得人们更容易搜索和打开。

电脑上怎么下载谷歌浏览器 第一个被公认为全球最大的搜索引擎

1.打开百度,在搜索框中输入google浏览器,点击打开官网。

2.在打开的google浏览器官网界面,找到下载chrome的选项,点击下载。在跳转界面中,单击接受并安装。

3.下载后运行安装程序进行安装。其他应用商店也可以直接下载。

相关文章
热门文章

孕妇堂 苏ICP备2022030739号-2 苏公网安备 32011502011778号