当前位置: 首页 > news >正文

企业邮箱 腾讯免费使用seo软件

企业邮箱 腾讯,免费使用seo软件,如何做网站左侧导航条,汉滨区城乡建设规划局 网站前言 通过本篇博客的学习,我希望大家可以了解到 “索引” 是为了提高数据的查询效率。 索引的介绍 索引是为了提高查询数据效率的数据结构 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着…

前言

  • 通过本篇博客的学习,我希望大家可以了解到 “索引” 是为了提高数据的查询效率。

索引的介绍

  • 索引是为了提高查询数据效率的数据结构

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足 特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

索引的作用

如下图所示:学生表 student 

执行一条sql语句(查询名为郑家谋 的出生年月日)

select birthday from student where stuName='郑家谋';

在不使用索引的情况下,我们要进行全文检索。

数据是一条条查找, 和目标条件比对,直到找到为止,这样的效率无疑是比较慢的。

也是因为如此,后面推出了索引。

那么索引是怎么样的呢?

在这里我先提一下:索引是一个B+tree 类型的数据结构

在这里,暂时把B+tree看作一个平衡二叉树。我们知道 平衡二叉树的特点

  • 左子结点小于根节点,根节点小于右子结点
  • 左右高度相差最大相差一

在我们查询数据时,我们拿目标数据,首先比较根结点存储的数据,如果比它大,就舍弃左子结点,和右子结点比较;如果比它小,和左子节点比较。以此类推,每次都舍弃一部分,这样查询效率就高了。

但实际上B+tree 数据结构 是在平衡二叉树的基础上,不仅保留了平衡二叉树的优点,同时也弥补了平衡二叉树的缺点。这个具体在下一篇博客讲B+tree的结构时,详细叙述。

索引的特点

优势

劣势

提高数据检索的效率,降低数据库的IO成本索引列也是要占用空间的
通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。索引大大提高了查询效率,同时却也降低更新表的速度, 如对表进行INSERT、UPDATE、DELETE时,效率降低。

现在我们对索引的优势/劣势,详细的分析

优势

提高数据检索的效率,降低数据库的IO成本

理解

我们可以把我们使用的数据库图形化界面工具如datagrip 等 ,看作客户端。我们执行的每一条SQL语句,都可以看作向数据库服务器,发送请求服务器使用IO流读取数据,如果不使用索引,就需要去读全部的内容。这样会消耗大量的IO资源。称为全表扫描(全文检索);如果使用索引,就只需要读取目标数据降低了数据从磁盘(硬盘)读取到内存,这样读取的数据量减少

  疑问:在数据库查询数据,数据是从 磁盘读取到内存(最先查到结果)存储数据的不是在硬盘上吗,不应该从硬盘上读取吗

如果大家有像我一样的疑惑,以下是我 查到资料后的理解

1 硬盘和磁盘的关系

  • 磁盘包括硬盘也是可以存储数据的。在非技术上,磁盘和硬盘可以统一理解,都把它看成硬盘。在数据库中也是如此。

数据库查询数据的过程

  • 当数据库接收到一个查询请求时,它会首先检查所需的数据是否已经在内存(缓存)中。如果数据已经在内存中,数据库可以直接从内存中读取数据,这通常比从硬盘读取要快得多。
  • 如果数据不在内存中,数据库需要从硬盘上读取数据。这个过程称为“页缺失”(page miss),数据库会从硬盘上读取数据页到内存中,然后从内存中提供给处理器。
通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗

理解

索引通常是有序的,这意味着数据已经被排序。如果查询请求需要返回排序后的结果,数据库可以直接利用索引的有序性来快速返回排序后的数据,而不需要额外的CPU资源来对数据进行排序。

劣势

索引列也是要占用空间的

理解

索引是一个数据结构,因此在硬盘中存储的不仅有数据库数据,还有索引数据。加大硬盘存储空间的占有

索引大大提高了查询效率,同时却也降低更新表的速度, 如对表进行INSERT、UPDATE、DELETE时,效率降低。

理解

虽然索引可以加快查询速度,但它们也会减慢数据的插入、更新和删除操作的速度。

原因如下

我认为索引本质上是为了查询表数据服务的,为了提高查询效率。因此当数据发生变化时(如插入、更新或删除),数据库系统不仅需要更新表中的数据,还需要更新所有相关的索引以保持数据的一致性。这个过程需要额外的时间和资源,尤其是在有大量索引或大量数据变动的情况下。

总的来说,索引是提高数据库查询效率的重要工具,但它们也带来了额外的存储和维护成本。在设计数据库时,需要根据具体的应用场景和需求来权衡是否使用索引以及该如何设计索引

本篇博客,简单的介绍了索引,下一篇博客,详细将索引的结构

http://www.hkea.cn/news/349918/

相关文章:

  • 省心的免费建站服务热线四川seo关键词工具
  • 网站总是跳转dede58seo对网络推广的作用是
  • seo排名怎么提高seo排名优化软件有用
  • 江门论坛建站模板黑帽seo联系方式
  • 政府网站信息内容建设专项检查搜索引擎排名优化seo课后题
  • 个人做的好的淘宝客网站软文营销推广
  • 城乡建设委员会网站河北seo推广公司
  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容
  • 建立门户网站的意义营销推广网
  • 网站建设网站软件有哪些百度推广开户费用标准
  • 找家装修公司家装吉林seo外包
  • 保定医疗网站建设公司会计培训班初级费用
  • 最好的销售管理系统seo发帖网站
  • 德州乐陵德州seo公司seo批量建站