MySQL索引原理(标贝科技)

什么是索引?

索引是帮助MySQL高效获取数据的数据结构。索引的本质就是数据结构。索引的目的在于提高查询效率,可以类比图书的目录,根据目录中的页码快速找到所需的内容。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。

索引的优点和缺点

  1. 优点
    1)索引可以提高数据检索的效率,降低数据库的IO成本
    2)索引可以将随机IO变成顺序IO
    3)索引可以帮助服务器避免排序和创建临时表
  2. 缺点
    1)虽然索引提高了查询的速度,同时也降低了更新表的速度,比如对表进行INSERT、UPDATE、DELETE。因为更新表时,Mysql不仅要保存数据,也要对索引文件进行保存。
    2)索引需要占用磁盘,当表设置大量的索引时,索引文件需要占用的磁盘空间会更大。
    3)对于非常小的表,大部分情况下简单的全表扫描更高效。

索引的原理

索引的本质就是通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是我们总是通过同一种查找方式来锁定数据。
数据库也是一样,但显然要复杂许多,因为不仅面临着等值查询,还有范围查询(>、

Original: https://www.cnblogs.com/DataBaker/p/15904575.html
Author: DataBaker
Title: MySQL索引原理(标贝科技)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713965/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 错误域控降级导致解析问题

    近两天在给分部安装辅助域控的时候,总是安装不成功,或者安装时成功了但是无法复制主域或者其他域控的信息,同步失败,还有就是它一直没有网。 解决方案 经过排查发现域名dns解析不对,经…

    技术杂谈 2023年6月21日
    095
  • 使用CRD扩展Kubernetes API

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月25日
    075
  • 常用排序算法(一)-java实现

    排序算法总结 1.十大经典算法及性能 2.具体排序算法 1.冒泡排序 循环过程中比较相邻两个数大小,通过交换正确排位,循环整个数组即可完成排序 图片演示 代码实现Java //冒泡…

    技术杂谈 2023年7月11日
    075
  • HDU 4831 Scenic Popularity

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm…

    技术杂谈 2023年5月30日
    0104
  • 贝克莱悖论

    17世纪后期,牛顿、莱布尼茨创立微积分学,成为解决众多问题的重要而有力的工具,并在实际应用中获得了巨大成功,然而,微积分学产生伊始,迎来的并非全是掌声,在当时它还遭到了许多人的强烈…

    技术杂谈 2023年5月31日
    098
  • foreach结构

    foreach是逻辑上的view元素,其功能是循环产生结构相同的view,并追加到container的subViews中去。foreach的结构如下: 属性名 默认值 说明 arr…

    技术杂谈 2023年6月1日
    0113
  • maven配置步骤及问题

    一、Maven->conf->settings.xml 文件配置 E:\szsgg\video\4maven\apache-maven-3.5.4\conf\setti…

    技术杂谈 2023年7月24日
    0104
  • AutoCAD LT 2021 for Mac(CAD绘图软件)中文版

    Original: https://www.cnblogs.com/123ccy/p/16540351.htmlAuthor: -Mac123-Title: AutoCAD LT …

    技术杂谈 2023年5月31日
    0117
  • 【Qt+VS】Qt图标不显示|Qt程序运行时图标不显示

    4、配置属性-》自定义生成工具-》常规命令行:【”你自己的rcc.exe路径” -name “%(Filename)” -no-co…

    技术杂谈 2023年5月30日
    0105
  • 方位

    【 方位】 1、《3D数学基础》中,方位被称为 head(y轴)、pitch(x轴)、bank(z轴)。但书上提到 head==yaw,bank==roll。 2、《Real-Ti…

    技术杂谈 2023年5月31日
    0100
  • Filter拦截器从入门到快速上手与Listener监听器概述

    前置内容: 会话跟踪技术 1、 过滤器Filter 1.1 Filter快速入门 1.2 Filter执行流程 1.3 Filter使用细节 1.4 案例 2、 监听器Listen…

    技术杂谈 2023年7月24日
    0116
  • Gitlab-runner+Docker自动部署SpringBoot项目

    本文基于Gitlab CI/CD及Docker快速实现项目的自动部署。 注意:本文较长,浏览需要12分钟左右。 1.环境要求 以下服务器的操作系统均为Centos7 服务器A:Gi…

    技术杂谈 2023年7月11日
    094
  • 手把手教你用JAVA实现“语音识别”功能(声音转文字)标贝科技

    手把手教你用JAVA实现”语音识别”功能(声音转文字)标贝科技 前言 什么是语音识别?将自然语音转换为文本信息,本篇文章将介绍”一句话识别&#8…

    技术杂谈 2023年7月25日
    091
  • 区块链–构建于技术创新之上的理想国

    前言 作为最近最火热的热潮之一,区块链吸引了大众的眼球。不管是互联网从业人员、金融行业从业人员,还是投机者、传销者,都对区块链充满了好奇和期待,寄希望于通过区块链创造财富和价值。那…

    技术杂谈 2023年7月23日
    088
  • JWT基础概念详解

    JWT基础概念详解 JWT介绍 之前我们文章讲过分布式session如何存储,其中就讲到过Token、JWT。首先,我们来回顾一下使用Token进行身份认证。 客户端发送登录请求到…

    技术杂谈 2023年6月21日
    0105
  • 设计模式-代理模式

    概念:二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标 方法的时候,不再是直接对目标方法进行调用,而是通过代理类 间接调用。让不属于目标方…

    技术杂谈 2023年7月11日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球