MySQL - MySQL索引优化及口诀

news/2025/1/15 22:49:58/

索引口诀

全值匹配我最爱,最左前缀要遵守;

带头大哥不能丢,中间兄弟不能断;

索引列上不计算,范围之后全失效;

LIKE百分写最右,覆盖索引不写 *;

不等空值还有or,索引失效要少用;

字符单引不可丢,SQL高级也不难。

1、全值匹配我最爱

建立几个复合索引字段,最好就用上几个字段。且按照顺序来用。

2、最佳左前缀原则

最前缀法则,必须有车头,中间车厢不能断

3、不在索引列上做任何操作(计算,函数,(自动/手动)类型转换),会导致索引失效而进行全表扫描

4、存储引擎不能使用索引中范围条件右边的列(范围之后全失效,不包括本身)

若中间索引列用到了范围(>、<、like等),则后面的索引全失效

5、尽量使用覆盖索引(尽量不用*)

6、like左模糊查询会导致索引失效

有时候右模糊查询,并不能查到想得到的内容
如果想需要使用两边都是%号,又不想索引失效,
此时应使用覆盖查询(查询范围在已经建立的索引范围之内,尽量与索引的个数,顺序相同)

使用select *

使用覆盖查询

7、is null 和 is not null将无法使用索引

8、字符串不加引号,索引失效

9、少用or,用它连接会可能会造成索引失效


http://www.ppmy.cn/news/1030554.html

相关文章

学C的第三十三天【C语言文件操作】

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 学C的第三十二天【动态内存管理】_高高的胖子的博客-CSDN博客 1 . 为什么要使用文件 以前面写的通讯录为例&#xff0c;当通讯录运行起来的时候&#xff0c;可以给通讯录中增加、删…

jquery发送ajax练习

jquery发送ajax练习 工具代码运行结果 工具 HBuilder X 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>通过ajax进行图片的提取和显示</title><style>div{background-color: beige;color: red;font-s…

spring常用注解标签总结

1&#xff1a;Component等 名称Component/Controller/Service/Repository类型类注解位置类定义上方作用设置该类为spring管理的bean属性value&#xff08;默认&#xff09;&#xff1a;定义bean的id 说明: Component注解如果不起名称&#xff0c;会有一个默认值就是当前类名首…

如何有效实施和推广电子文件管理系统?

随着科技的快速发展&#xff0c;传统的纸质文件管理方式逐渐被电子文件管理系统所取代。电子文件管理系统能够提高工作效率、节省空间和资源&#xff0c;并且有助于保护和维护文件的安全性。 1. 确定需求和目标 在实施电子文件管理系统之前&#xff0c;首先需要明确组织的需求…

【socket】recvfrom/sendto、recv/send、read/write问答

1.socket recvfrom能用于TCP吗&#xff1f; recvfrom()这个socket函数主要适用于UDP连接,在TCP连接上使用效果并不好。 这是因为recvfrom()的一些特性与TCP的工作方式不匹配: 1. recvfrom()可以获得数据来源地址和端口,但TCP作为连接导向的协议,这个信息在连接建立的时候就已经…

QT mouseTracking

在Qt中要捕捉鼠标移动事件需要重写MouseMoveEvent&#xff0c;但是MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到。要想鼠标不按下时的移动也能捕捉到&#xff0c;需要setMouseTracking(true)。 如果鼠标跟踪失效&#xff08;默认&#xff09;&#xff0c;…

Idea中使用statement接口对象,显示mysql版本号,所有库和表名

使用statement 接口对象&#xff0c;进行以下操作&#xff1a; 显示数据库版本号显示所有库显示所有库中的table表 显示数据库版本号&#xff1a; public class StatementDemo {Testvoid showall(){try{Statement st conn.createStatement();ResultSet rs st.executeQuery(…

ssm+vue线上旅行信息管理系统源码和论文PPT

ssmvue线上旅行信息管理系统源码和论文PPT011 开发工具&#xff1a;idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具&#xff1a;navcat,小海豚等 开发技术&#xff1a;java ssm tomcat8.5 1、立论依据&#xff08;课题来源、选题依据和背景情况、课题研究目的、理论意义…