Mysql索引会失效的几种情况分析

 更新时间:2014年06月04日 14:47:14   作者:  
在做项目的过程中,难免会遇到明明给mysql建立了索引,可是查询还是很缓慢的情况出现,下面我们来具体分析下这种情况出现的原因及解决方法

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:

    1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)

  注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引

  2.对于多列索引,不是使用的第一部分,则不会使用索引

  3.like查询是以%开头

    4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引



  5.如果mysql估计使用全表扫描要比使用索引快,则不使用索引

此外,查看索引的使用情况
show status like ‘Handler_read%';
大家可以注意:
handler_read_key:这个值越高越好,越高表示使用索引查询到的次数
handler_read_rnd_next:这个值越高,说明查询低效

相关文章

  • Mysql经典的“8小时问题”

    Mysql经典的“8小时问题”

    MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。
    2015-04-04
  • 使用mysql查询显示行号的示例代码

    使用mysql查询显示行号的示例代码

    MySQL变量是一种用于存储和操纵数据的数据类型,通过在SQL查询中使用变量,我们可以创建一个MySQL查询,用于获取每行数据的行号,本文给大家介绍了使用mysql查询显示行号的示例代码,需要的朋友可以参考下
    2024-01-01
  • MySQL时区差8小时的多种问题解决方法

    MySQL时区差8小时的多种问题解决方法

    mybatis将本地的数据传入到mysql数据库服务器的时候,服务器会对数据进行检测,会把date类型的数据自动转换为mysql服务器所对应的时区,即0时区,所以会相差8小时,本文给大家介绍了MySQL时区差8小时的问题解决方法,需要的朋友可以参考下
    2024-01-01
  • mysql的查询否定语句有哪些

    mysql的查询否定语句有哪些

    MySQL查询否定语句是一个非常有用的工具,可以帮助我们轻松应对复杂的查询需求。在使用否定语句时,需要注意语法和性能方面的问题,以确保查询结果的准确性和效率。
    2023-10-10
  • CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)

    CentOS 7.0如何启动多个MySQL实例教程(mysql-5.7.21)

    这篇文章主要给大家介绍了关于CentOS 7.0如何启动多个MySQL实例(mysql-5.7.21)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2018-03-03
  • MySQL中的唯一性约束与NULL详解

    MySQL中的唯一性约束与NULL详解

    这里记录的是很久之前的一个 bug 了,主要给大家介绍了关于MySQL中唯一性约束与NULL的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • mysql多表查询的几种分类详细

    mysql多表查询的几种分类详细

    本文主要介绍了mysql多表查询的几种分类详细,主要包括3大分类,等值连接 vs 非等值连接,自连接 vs 非自连接,内连接 vs 外连接,文章介绍的非常详细,感兴趣的可以了解一下
    2022-02-02
  • MySQL8.0.26安装与卸载的完整步骤记录

    MySQL8.0.26安装与卸载的完整步骤记录

    这篇文章主要给大家介绍了MySQL8.0.26安装与卸载的完整步骤,文中通过图文以及示例代码介绍非常详细,对于在windows下安装msql非常有帮助,需要的朋友可以参考下
    2021-07-07
  • MySQL中的IF语句使用小结

    MySQL中的IF语句使用小结

    在MySQL数据库中,IF 语句是一种常见的条件控制语句,本文介绍了 MySQL 中 IF 语句的基本用法以及实际应用场景,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • MySQL查看所有用户的实现

    MySQL查看所有用户的实现

    本文主要介绍了MySQL查看所有用户的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论