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` )

总结

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

相关文章

  • 详解MySQL的limit用法和分页查询语句的性能分析

    详解MySQL的limit用法和分页查询语句的性能分析

    本篇文章主要介绍了详解MySQL的limit用法和分页查询语句的性能分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • SELECT… FOR UPDATE 排他锁的实现

    SELECT… FOR UPDATE 排他锁的实现

    本文主要介绍了SELECT… FOR UPDATE 排他锁的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • mysql取得datetime类型的数据,后面会跟个.0的实现方法

    mysql取得datetime类型的数据,后面会跟个.0的实现方法

    下面小编就为大家带来一篇mysql取得datetime类型的数据,后面会跟个.0的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySQL数据库命名规范及约定

    MySQL数据库命名规范及约定

    这篇文章主要介绍了MySQL数据库的操作规范及、表名约定、列名约定,需要的朋友可以参考下
    2014-03-03
  • 虚拟主机MySQL数据库的备份与还原的方法

    虚拟主机MySQL数据库的备份与还原的方法

    虚拟主机MySQL数据库的备份与还原的方法...
    2007-07-07
  • MySQL中explain使用快速查询手册

    MySQL中explain使用快速查询手册

    我们会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,会用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用索引,下面这篇文章主要介绍了关于MySQL中explain使用快速查询手册的相关资料,需要的朋友可以参考下
    2022-10-10
  • MySQL数据库Event定时执行任务详解

    MySQL数据库Event定时执行任务详解

    这篇文章主要介绍了MySQL数据库Event定时执行任务
    2017-12-12
  • MySQL 索引的优缺点以及创建索引的准则

    MySQL 索引的优缺点以及创建索引的准则

    这篇文章主要介绍了MySQL 索引的优劣以及创建索引的准则,帮助大家更好的理解和使用MySQL 索引,感兴趣的朋友可以了解下
    2020-09-09
  • 浅谈MySQL 有哪些死锁场景

    浅谈MySQL 有哪些死锁场景

    本文主要介绍了浅谈MySQL 有哪些死锁场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • MySQL基础教程之DML语句详解

    MySQL基础教程之DML语句详解

    DML 语句是指对数据库中表的记录进行的操作,下面这篇文章主要给大家介绍了关于MySQL基础教程之DML语句的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12

最新评论