首页 > 数据库 >MySQL为什么有时候会选错索引?以及什么情况索引会失效?

MySQL为什么有时候会选错索引?以及什么情况索引会失效?

时间:2022-11-10 12:02:46浏览次数:47  
标签:选错 扫描 索引 行数 MySQL 失效

MySQL为什么有时候会选错索引?  

  MySQL判断选择哪个索引时,这个是优化器的工作。优化器会根据扫描的行数、是否回表、是否使用临时表、排序等来判断使用索引还是全表扫描

  优化器计算扫描行数的逻辑是预估的方式 ,是通过对索引的采样统计计算出来的,所以判断的行数不准确时就会选错索引。

什么情况索引会失效? 

  1.有or必全有索引;
  2.复合索引未用左列字段;
  3.like以%开头;
  4.需要类型转换;
  5.where中索引列有运算;
  6.where中索引列使用了函数;
  7.如果mysql觉得全表扫描更快时

 

标签:选错,扫描,索引,行数,MySQL,失效
From: https://www.cnblogs.com/road2master/p/16876600.html

相关文章

  • 分别在mysql和postgreSQL中存储json对象
    1.添加maven依赖<dependency><groupId>com.vladmihalcea</groupId><artifactId>hibernate-types-52</artifactId><version>${hibernate-types.version}</v......
  • Windows下MySQL安装主要步骤和过程中出现的一些问题
    最近公司的系统要迁移服务器,记录一下新服务器中MySQL安装的过程。 0、最开始的安装选项我选了”custom“,因为这个选项可以选择安装地址,其他的好像选不了,然后只选择......
  • pytorch张量索引
    一、pytorch返回最值索引1官方文档资料1.1torch.argmax()介绍 返回最大值的索引下标函数:torch.argmax(input,dim,keepdim=False)→LongTensor返回值:Retur......
  • mysql主从备份双机热备实现方法
    1.环境准备主服务器(master):192.168.1.1从服务器(slave):192.168.1.2要求主从服务器mysql版本相同且大于3.232.主服务器2.1创建同步用户createuser'test1'@'192.168.1.......
  • K8s系列---【KubeSphere部署完mysql8.0再部署mysql5.0导致mysql5.0启动失败的问题】
    KubeSphere部署完mysql8.0再部署mysql5.0导致mysql5.0启动失败的问题1.报错InnoDB:Tableflagsare0inthedatadictionarybuttheflagsinfile./ibdata1are0x......
  • 在 Docker 容器中运行 MySQL
    0.配置镜像地址修改daemon配置文件/etc/docker/daemon.json来使用加速器{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}重启docker和deamonsudo......
  • Mysql 当前月每天累计统计,Mysql 本月第一天
    ================================©Copyright蕃薯耀 2022-11-10https://www.cnblogs.com/fanshuyao/ 一、Mysql本月第一天,Mysql 当前月第一天--本月第一天SE......
  • 一个 MySQL 隐式转换的坑,差点把服务器整崩溃了
    我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而美好......
  • 【MySQL】定时备份脚本
    #!/bin/bash#保存备份个数,备份31天数据number=31#备份保存路径backup_dir=/root/mysqlbackup#日期dd=`date+%Y-%m-%d-%H-%M-%S`#备份工具tool=/usr/local/mysql-8......
  • mysql8.0数据库安装
    1.创建数据库目录文件夹data2.添加配置文件my.ini[mysql]#设置mysql数据库客户端默认字符集default-character-set=UTF8[mysqld]#设置mysql数据库默认端口号,注意端口......