**不止where的要命中索引 去重的指定字段也有加索引才能最优,图都懒得上了自己用explain分析一下吧 ** 方法
1.索引加对.不止where的要命中索引 去重的指定字段也有加索引才能最优
2.缩小范围查询再去重
3.用distinct吧
观察下指标 extra 是 explain 中比较重要的一个属性指标之一,标识着SQL语句的索引使用情况。
接下来 讲讲常用见的几种状态。
Using filesort
这种情况是在使用 order by 关键字的时候,如果待排序的内容无法通过索引直接直接进行排序,mysql就有可能进行文件排序。
当然不是说出现了此情况就会对sql语句的效率造成影响。但是由于查询次数过多的话,对于排序的效率还是有一定的影响的。
可以通过设置 max_length_for_sort_data 来 提高 order by 的效率。如果操作的数据大小高于```shell max_length_for_sort_data 的缓存大小时,mysql会产生临时表进行查询,一定程度上会印象效率。 max_length_for_sort_data的默认值是1024。
优化方案:
优化业务逻辑,不使用 order by ,而在业务代码中执行排序方法
设置索引,将带排序的内容放在索引中,直接利用索引进行排序
```shell
Using index
使用索引,表示索引能够覆盖所有的查询字段,无需进行回表查询所以效率会高。大部分情况代表最优
Using where 单独出现
表示当前查询的字段不能被索引覆盖,所以可能会产生回表,效率比前者低
Using where;Using index
表示查询的列被索引覆盖,且where筛选条件是索引列前导列的一个范围,或者是索引列的非前导列。 效率也比较高
null
表示查询的列未被索引覆盖,且where筛选条件是索引的前导列,这意味着用到了索引,但是部分字段未被索引覆盖,必须通过“回表查询”来实现,因而性能也比前两者差。
Using index condition
表示查询条件中虽然出现了索引列,但是有部分条件无法使用索引,会根据能用索引的条件先搜索一遍再匹配无法使用索引的条件
本文为大海原创文章,转载无需和我联系,但请注明来自大海博客https://www,ypyunedu.com
goland2022.3 破解 Docker快速构建HaProxy集群,并配置好rabbitmq的负载均衡 docker快速搭建kafka集群 使用docker-compose 编排基础分布式架构 使用Consul配合Nginx实现动态负载均衡 Grafana + Prometheus监控篇之Windows监控Linux服务器资源 php zookeeper实现分布式锁 macvlan 用于 Docker 网络 千万级别数据mysql distinct group by redis实现分布式锁 SkyWalking 针对 gRPC 的负载均衡和自动扩容实践 kafka 新建消费组 如何消费信息 jenkins安装 sentinel Hystrix 部署 docker consul集群 Docker Jenkins 自己部署 Docker Kong MySQL查看数据库性能常用命令 docker磁盘空间不足解决办法 激活navicat提示rsa public key not find的问题 Warning: docker.service changed on disk. Run ‘systemctl daemon-reload‘ to reload unit docker 编辑Dockerfile 添加php7.2 acpu php curl error code linux查看文件指定的前几行和后几行的命令 swoole 知识小课堂 mysql索引慢查询于b+树 zend_mm_heap corrupted 使用opcache出状况 postman 遇到坑了post无法请求 上传文件超过1M,报跨域错误 win10 无法启动dhcp client服务 Jetbrains2021,Jetbrains2020,Jetbrains2019,Jetbrains2018等系列产品无限重置试用方法教程: phpexcel的大量数据导出[内存溢出测试验证] php aws 文件上传设置content_type 逐行处理并截取数据后二次指定字符串截取写入新文件 图片上传封装 aws 文件公网直接访问 SourceTree推送时检测不到本地分支解决办法 kibana查询语法 逐行处理并截取数据写入新文件 php-fpm 进程异常断开[记一次线上问题处理] 解决新版wampserver 2/3个服务都没有运行问题和wamp启动后无任何提示如何启动 phpstrom 插件之翻译工具 网页视频文件转换为MP4(.m3u8转为mp4),非命令行转换,想命令的别看这篇 Could not create token :Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead. Kibana 的安装(Windows版本) 秒级定时任务 mysql 查询优化 索引 type级别 springBoot 启动 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. jquery 获取 option id的值和多传参数的 Git 笔记 mq 队列项目中一些实践场景 php 数组一维按key拆分和替换二维数组的key php低版本的条形码如何生成mpdf.6.0.1 navivat连接不上 2003-Can‘t connect to Mysql server on ‘xxx‘ (10060 “Unknown error“) 阿里云漏洞提示修复,不用花钱 货拉拉搬家优惠卷,无忧搬家优惠券 phpstrom常用快捷键 idea java 快速生成命令 phpexcel,excel导入导出封装类 wampserver配置域名(php 开发环境) easysoole WebSocket connection to failed: Error in connection establishment: net::ERR_ 如果获取某库的文件,在把它转换成自己想要的格式 ppt自动下载 eclipse安装spring插件 Eclipse IDE for Java Developers - 2020-06 安装maven phpstrom sftp 使用和2021.1版本 sftp配置 php接入was s3相关问题记录 postman 添加token到headers实现自动登录 SourceTree gitlab 某大公司一面二面 某上市公司一面二面 面试笔记 小算法集合 腾讯tars微服务安装笔记 magento 开发记录 VMware - 虚拟机下CentOS7配置固定IP的方法 windows laravel中使用ElasticSearch详情 fastadmin无法上传视频和文件上传到七牛的操作 七牛云配置遇到的一些问题 fastadmin 令牌数据无效 navicat 提示 cat not open named pipe to host: pipe:/tmp/mysql.sock(2) YApi使用遇到的问题 IntelliJ IDEA全家桶激活 phpstrom2019 pystrom2019 破解 windows命令行 cmder CentOS 7部署frp穿透内网服务器 shell 定时备份mysql 上传七牛云 postman多环境配置token自动登录配置 laravel 中的定时任务不执行(出现用户权限不够导致失败问题解决 ) 利用阿里云域名免费证书 在宝塔中nginx配置https php xdebug phpstrom配置 shell 转发mysql隧道 微信公众号扫码关注和一键关注公众号的方法 yii2笔记 rabbitmq thinkphp5 路由模式 laravel5.8 路由分组实现
最新评论