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

MYSQL索引使用注意事项

索引使用注意事项:

1.索引列运算

不要在索引列上进行运算操作,否则索引将失效;

2.字符串不加引号

字符串类型使用时,不加引号,否则索引将失效;

3.模糊查询

如果仅仅是尾部模糊匹配,索引将不会失效。如果是头部匹配,索引失效;

4.Or连接的条件

用or分开的条件,如果or前的条件中的列有索引,二后面的列中没有索引,那么涉及的索引都不会被用到。

5.数据分布影响

如果MySQL评估使用索引比全表更慢,则不使用索引。

6.最左前缀法则

如果索引了多列(联合索引),要遵循最左前缀法则。最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。如果跳跃某一列,索引将部分失效(后面的索引字段失效)。

7.范围查询

联合索引中,出现范围查询(>, <),范围查询右侧的列索引失效。在可以的情况下,尽量换成(>=, <=)。

8.SQL提示

SQL提示是优化数据库的一个重要手段,简单来说,就是在SQL语句中加入一些认为提示来达到优化操作的目的。    use index, ignore index, force index;

9.覆盖索引

尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少使用select*。

知识小贴士:using index condition:查找使用了索引,但是需要回表查询数据

using where, using index:查找使用了索引,但是需要的数据都在索引列中能找到,所以不需要回表查询数据。

10.前缀索引

语法

create index idx_xxxx on table_name(column(n));

前缀长度

11.单列索引与联合索引

单列索引:即一个索引只包含单个列

联合索引:即一个索引包含了多个列

在业务场景中,如果存在多个查询条件,考虑针对查询字段建立索引时,建议建立联合索引,而非单列索引。

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

相关文章:

  • 深入理解Java中的String、StringBuilder和StringBuffer(每天一个技术点,第一天)
  • PHP逻辑运算符学习资料
  • 深入解析CPU工作原理与细节
  • 计算机网络(超详解!) 第二节 物理层(上)
  • c++ 打怪升级
  • 代码随想录第十三天(一刷C语言)|翻转二叉树对称二叉树
  • Temu已成拼多多第二曲线
  • vue+el-tooltip 封装提示框组件,只有溢出才提示
  • GAN:PacGAN-生成对抗网络中两个样本的威力
  • 【面试】typescript
  • 初识向量数据库
  • Zabbix“专家坐诊”第213期问答汇总
  • Linux RN6752 驱动编写
  • 扩展ACL命令
  • 多媒体信号处理复习笔记 --脑图版本
  • 力扣二叉树--第三十五天
  • 先喝点水,这期程序员兼职干货没有水分!
  • vue3通过el-dropdown实现动态菜单切换页面
  • go学习之文件操作与命令行参数
  • 面试题:海量PDF的OCR处理思路
  • [原创][2]探究C#多线程开发细节-“线程的无顺序性“
  • 【精选】Spring整合MyBatis,Junit 及Spring 事务Spring AOP面向切面详解
  • 获取Spring容器Bean工具类
  • 图面试专题
  • VUE的计算属性
  • uniapp中使用pageScrollTo让页面滚动到固定节点或距离
  • 使用机器学习方法进行分析和处理:对高质量图像进行压缩
  • 多线程面试总结
  • android11-隐藏状态栏和导航栏
  • 血的教训--kail系统免密centos7的坑【高版本ssh免密低版本ssh的坑】