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

Mysql索引(学习自用)

目录

一、索引概述

 优缺点

二、索引结构 

1、索引数据结构

2、索引支持结构

3、B树

4、B+树

5、hash索引

6、为啥采用B+树索引

三、索引分类 

四、索引语法

五、索引性能分析

5.1查看执行频率

5.2慢查询日志

5.3profiling

5.4explain

六、索引使用规则

6.1验证索引效率

6.2最左前缀法则

6.3范围查询

 6.4索引失效的情况

6.4.1索引列运算

6.4.2字符串不加引号

6.4.3模糊查询

 6.4.4or连接的条件

6.4.5数据分布情况

6.4.5null情况

6.5索引建议、忽略、强制

6.6覆盖索引

6.7前缀索引

6.8单列索引和联合索引

七、索引设计原则


一、索引概述

 优缺点

二、索引结构 

1、索引数据结构

2、索引支持结构

3、B树

4、B+树

 

5、hash索引

6、为啥采用B+树索引

三、索引分类 

四、索引语法

五、索引性能分析

5.1查看执行频率

5.2慢查询日志

查看慢查询日志是否开启:

show variables like 'slow_query_log';

5.3profiling

查看profiling开启状态:

select @@profiling;

 

5.4explain

六、索引使用规则

6.1验证索引效率

用执行的秒数解释即可

6.2最左前缀法则

注意:跟联合索引的顺序没有关系,只要最左前缀存在即可。

explain select * from tb_user where profession='软件工程' and age=31 and status='0';

explain select * from tb_user where age=31 and status='0' and profession='软件工程';

是一样的效果。

6.3范围查询

注意:尽量使用>= 或<=来用范围查询,这样范围查询右侧的列索引不会失效。

 6.4索引失效的情况

6.4.1索引列运算

6.4.2字符串不加引号

6.4.3模糊查询

头部模糊匹配索引会失效

 6.4.4or连接的条件

有索引列 or 没索引列  整条语句的索引都失效。

若要解决则需都加上索引。

6.4.5数据分布情况

6.4.5null情况

当条件存在is not null或者is null情况时,不能准确判断是否利用索引了。要具体看数据内容。

6.5索引建议、忽略、强制

注意:

1)use只是建议mysql使用这种索引,并不是强制让mysql必须使用,具体使用哪个索引还要根据mysql哪个索引的执行效率高来进行选择。

2)ignore是忽略掉该索引。

3)force是强制mysql使用该索引。

6.6覆盖索引

6.7前缀索引

6.8单列索引和联合索引

七、索引设计原则

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

相关文章:

  • eniops库中reduce函数使用方法
  • 阴沟翻船题——Longest Substring Without Repeating Characters
  • Jetpack Compose 和 Compose Multiplatform 还有 KMP 的关系
  • 微信小程序中实现背景图片完全覆盖显示,可以通过设置CSS样式来实现
  • 【0x0012】HCI_Delete_Stored_Link_Key命令详解
  • console的各种方法
  • spring boot关于系统首页自动跳转拼接到index
  • 指针生成网络(PGN)详细指南(引入)
  • 案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设
  • k8s 蓝绿发布、滚动发布、灰度发布
  • UWB原理:AOA测角原理Angel of Arrival
  • plus.runtime.install在android10无效
  • 7.C++中的函数
  • 上位机知识篇---Python数据图表可视化
  • 详解:TCP/IP五层(四层)协议模型
  • 【原生记忆能力 怎么让大模型拥有原生的记忆能力】
  • 百度APP iOS端磁盘优化实践(上)
  • qml Dialog详解
  • 2025年的校招管理系统会全面实现智能化吗?
  • 【Unity】使用Canvas Group改变UI的透明度
  • 2024年博客之星主题创作|2024年度感想与新技术Redis学习
  • 6. 马科维茨资产组合模型+政策意图AI金融智能体(DeepSeek-V3)增强方案(理论+Python实战)
  • Unity自学之旅05
  • linux中关闭服务的开机自启动
  • Python----Python高级(文件操作open,os模块对于文件操作,shutil模块 )
  • ubuntu黑屏问题解决
  • Java如何实现反转义
  • 动态规划(路径问题)
  • python http调用视觉模型moondream
  • Spark Streaming编程基础