mysql添加索引反而速度变慢的问题

 更新时间:2024年01月27日 15:33:25   作者:Aoeding  
这篇文章主要介绍了mysql添加索引反而速度变慢的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql添加索引反而速度变慢

索引失效几种情况

1.使用in、not in,会导致索引失效

  • 失效的原因和 Mysql 的版本以及表中的数据量有关系
  • 在 8.0 之后的版本是走索引的

2.or 分割的条件

如果 or 左边的条件存在索引,而右边的条件没有索引,不走索引

  • 因为 OR 的含义就是两个只要满足一个即可
  • 因此只有一个条件列进行了索引是没有意义的
  • 只要有条件列没有进行索引
  • 就会进行全表扫描
  • 因此索引的条件列也会失效

3.索引字段不是联合索引字段的最左字段

4.like 使用了 ‘%’模糊匹配

5.被索引字段使用了内置函数

  • 使用了SUM(), MIN(), MAX(), COUNT(), and so forth

6.被索引字段使用了表达式计算

7.字段类型不匹配导致的索引失效

mysql添加索引语句

添加PRIMARY KEY(主键索引) 

mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 

添加UNIQUE(唯一索引) 

mysql>ALTER TABLE `table_name` ADD UNIQUE ( 
`column` 
) 

添加INDEX(普通索引) 

mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 

添加FULLTEXT(全文索引) 

mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 

添加多列索引 

mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • win10下mysql 8.0.18 安装配置方法图文教程(windows版)

    win10下mysql 8.0.18 安装配置方法图文教程(windows版)

    这篇文章主要介绍了windows版的mysql 8.0.18 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • MySQL权限控制和用户与角色管理实例分析讲解

    MySQL权限控制和用户与角色管理实例分析讲解

    用户经认证后成功登录数据库,之后服务器将通过系统权限表检测用户发出的每个请求操作,判断用户是否有足够的权限来实施该操作,这就是MySQL的权限控制过程
    2022-12-12
  • 生产环境MySQL索引时效的排查过程

    生产环境MySQL索引时效的排查过程

    这篇文章主要介绍了生产环境MySQL索引时效的排查过程,文章根据SQL查询耗时特别长,看了执行计划发现没有走索引的问题展开详细介绍,需要的朋友可以参考一下
    2022-04-04
  • 一文介绍mysql中TINYINT取值范围

    一文介绍mysql中TINYINT取值范围

    本文主要介绍了mysql中TINYINT取值范围,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • mysql 日期和时间格式转换实现语句

    mysql 日期和时间格式转换实现语句

    对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。
    2009-10-10
  • MySQL5.7.18下载和安装过程图文详解

    MySQL5.7.18下载和安装过程图文详解

    本文通过图文并茂的形式给大家介绍了MySQL5.7.18下载和安装过程,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-07-07
  • Mysql生成数据字典的原理与实例

    Mysql生成数据字典的原理与实例

    数据字典是一名DBA需要维护的重要内容,有人喜欢用excel来维护,本人更喜欢直接在数据库上进行维护,下面这篇文章主要给大家介绍了关于Mysql生成数据字典的原理与实例,以及导出MySQL的数据字典的方法,需要的朋友可以参考下
    2022-03-03
  • MySQL由浅入深探究存储过程

    MySQL由浅入深探究存储过程

    存储过程就是一条或者多条SQL语句的集合,可以视为批文件,它可以定义批量插入的语句,也可以定义一个接收不同条件的SQL,下面这篇文章主要给大家介绍了关于MySQL中存储过程的相关资料,需要的朋友可以参考下
    2022-07-07
  • mysql报错1267 - Illegal mix of collations问题的解决方法

    mysql报错1267 - Illegal mix of collations问题的解决方法

    这篇文章主要介绍了mysql报错1267 - Illegal mix of collations问题的解决方法,解决这个问题的方法是将两个字符集统一起来,文中介绍了好几种解决的办法,需要的朋友可以参考下
    2025-01-01
  • MySQL运维神器pt-kill清理垃圾SQL的完整指南

    MySQL运维神器pt-kill清理垃圾SQL的完整指南

    在日常开发过程中,谁没遇到过这种窘境:业务高峰期突然 CPU 狂飙,大量连接堆积,排查发现是几条失控的慢查询在疯狂占用资源,Percona Toolkit 中的 pt-kill 工具,正是解决这类问题的手术刀,今天就带大家从基础用法到生产实战,彻底掌握这个运维必备工具
    2026-03-03

最新评论