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

网站首页标题设置网站按钮设计

网站首页标题设置,网站按钮设计,昆明网站建设哪家比较,下载网站所有网页前言 通过本篇博客的学习,我希望大家可以了解到 “索引” 是为了提高数据的查询效率。 索引的介绍 索引是为了提高查询数据效率的数据结构 索引(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.yayakq.cn/news/286446/

相关文章:

  • 专线怎么做网站服务器学新媒体运营最好的培训学校
  • 钦州网站建设设计兰州网站建设运营方案
  • 社团网站模板wordpress主题的安装教程
  • 网站推广策划的思路包括哪些程序员做兼职的网站
  • 怎样做阿里巴巴网站的店招搜索引擎推广方案案例
  • 微博营销策划方案范文优化网站建设
  • 高校后勤网站建设要求网络服务器的价格
  • 网站有二维码吗网站怎样做支付接口
  • 深圳网站优化包年网站定制站
  • 分销网站开发合同域名查询ip地址
  • 网站推广的措施和手段有哪些深圳团购网站设计
  • 系统网站建设方案什么叫模板网站
  • 网站推广方案策划甘肃金顶建设公司网站
  • 常州新北建设局网站南京seo公司哪家好
  • 网站被降权的原因模板网会员
  • 网站建设合同用交印花税wordpress 网银
  • 金融网站建设方案ppt模板如何查看网站的点击量
  • 国家工信部网站域名查询系统还有哪些数据库网站
  • 昆明网站快速优化排名慧聪网郭凡生现状
  • 德国 网站 后缀物流网站购买物流单号
  • 做体育网站互联网广告
  • 小学网站怎么做做网站能挣钱吗
  • 中国住房和城乡建设部网站造价师注册网站建设平台安全问题有哪些
  • 信息技术初二做网站购物网站功能模块图
  • 成都网站开发团队亚马逊在哪个网站做推广
  • 凡科网的网站建设怎么做平面设计考研科目
  • 做网站广告经营者好素材网站
  • 做文案的网站免费学编程国内网站
  • 国内最有趣的网站做包装盒效果图的网站
  • 淄博营销网站建设合肥做网站的的公司