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

MySQL 中联合索引相比单索引性能提升在哪?

  1. 首先我们要清楚所以也是要占用磁盘空间的,随着表中数据量越来越多,索引的空间也是随之提升的,因而单表不建议定义过多的索引,所以使用联合索引可以在一定程度上可以减少索引的空间占用
  2. 其次,使用联合索引的情况下,如果索引中字段包含全部查询所需的字段(即发生索引覆盖),就可以不用进行回表操作,进一步提高效率
  3. 联合索引在使用等值范围查询的时候特别有效,因为它可以直接定位到具有特定键值组合的记录。对于范围查询,联合索引同样有用,但是一旦遇到范围条件,索引中该条件之后的列就不会被用于优化查询

 
 
另外提一嘴,我们在设置主键索引时,一般情况下我们都会设置为自增的,那么我们为什么这么做呢?这么做有什么好处呢?

首先如果我们使用自增主键,那么每次插入数据的时候新数据就会顺序添加到当前索引节点的位置,不需要移动已经有的数据,当页面写满的时候,就会自动开辟一个新页面。因为不需要重新移动数据,因此这种插入的方式十分高效

其次,如果我们使用非自增主键,由于每次插入索引的值都是随机的,因此每次插入新的数据时,都有可能会放入现有数据页的中间,这将不得不移动其他数据来满足新数据的插入操作,甚至有的时候需要复制一个界面的数据到另一个界面,这种情况我们称之为页分裂。页分裂还有可能会造成大量的内存碎片,导致索引结构不紧凑,从而影响查询效率。

http://www.lryc.cn/news/519761.html

相关文章:

  • 第34天:安全开发-JavaEE应用反射机制攻击链类对象成员变量方法构造方法
  • C++笔记之数据单位与C语言变量类型和范围
  • 算法-拆分数位后四位数字的最小和
  • Python 管理 GitHub Secrets 和 Workflows
  • 指令的修饰符
  • C# 正则表达式完全指南
  • 【笔记整理】记录参加骁龙AIPC开发者技术沙龙的笔记
  • 论文解析 | 基于语言模型的自主代理调查
  • 面试加分项:Android Framework AMS 全面概述和知识要点
  • EasyCVR视频汇聚平台如何配置webrtc播放地址?
  • 用户界面软件04
  • C#,数值计算,矩阵相乘的斯特拉森(Strassen’s Matrix Multiplication)分治算法与源代码
  • linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包
  • SQL Server查询计划操作符——查询计划相关操作符(3)
  • 【Notepad++】Notepad++如何删除包含某个字符串所在的行
  • Android 来电白名单 只允许联系人呼入电话
  • 【计算机网络】lab3 802.11 (无线网络帧)
  • 单片机(MCU)-简单认识
  • 全面教程:Nacos 2.3.2 启用鉴权与 MySQL 数据存储配置
  • 软件23种设计模式完整版[附Java版示例代码]
  • 国标GB28181-2022视频平台EasyGBS小知识:局域网ip地址不够用怎么解决?
  • PHP 循环控制结构深度剖析:从基础到实战应用
  • vue的属性绑定
  • FFmpeg音视频流媒体,视频编解码性能优化
  • 16_Redis Lua脚本
  • Redis为 List/Set/Hash 的元素设置单独的过期时间
  • 鸿蒙中调整应用内文字大小
  • 计算机网络之---防火墙与入侵检测系统(IDS)
  • KG-CoT:基于知识图谱的大语言模型问答的思维链提示
  • 【JMeter】多接口关联