mysql一个非常实用解决sql查询优化的函数explain
2024-08-31 04:01:10
前言:
项目中有个表有几万条数据,然后还要关联其他表,查询条件也有点多,再没有其他查询条件下,默认时间查询条件如果是查一年的数据的话,查询时间那是慢得可怕。
找总监去优化sql,看他用了一个sql函数:explain,把查得慢的表找出来,根据关联的字段建了个索引,就快了很多。
由于我看到要查的主表加了索引,其他表我就没管(后来才知道,只要关联的表都要加索引,加索引的字段就是关联的字段),没有处理之前用了1分多钟,查2018-01-01 到 2019-03-26日期的数据并查出了4万多条。
1、使用explain函数查看,到底是哪个表拖慢了速度:
2、每个表都加了索引之后,查1年日期,1000条数据,查询时间只用了0.3秒,不用limit限制查询条数的话,会一共查出4万条数据,查询时间15秒那样还是很慢,所以查1000条数据显示完全够用了,每页10条,都可以显示100页了,没人会翻那么多页,100页数据完全够用。
3、不限制1000条数据,查整个一年的数据sql代码如下:用了15秒
最新文章
- SQLSERVER进程CPU使用率100%
- echarts入门基础,画一个饼状图
- Case 架构的实际应用-2
- TCP/IP 三次握手和四次握手
- 最近看到一篇cell点击时的动画,感觉还不错
- LuaFramework内存资源管理器ResourceManger详解及切换场景资源清理
- Retrofit网络请求库应用01
- python2.x和python3.x的区别
- SQL Server数据库的备份和还
- JSP 前端的一些应用
- 【BZOJ3514】Codechef MARCH14 GERALD07加强版 LCT+主席树
- UDF、UDAF、UDTF函数编写
- 选择结构的三角关系Switch、Case、Default!!!
- 手撕coreML之yolov2 object detection物体检测(含源代码)
- Keepalived源码安装
- [js]纯css强制不换行
- 为什么不要在Spring的配置里,配置上XSD的版本号
- solr入门之权重排序方法初探之使用edismax改变权重
- Git——克隆部分文件
- Java基础(十三):集合
热门文章
- 关闭 Mac 拼写自动纠正与横线转换
- 接口自动化:HttpClient + TestNG + Java(四) - 封装和测试post方法请求
- SpringBoot + Spring Security 学习笔记(三)实现图片验证码认证
- SpringBoot + Spring Security 学习笔记(二)安全认证流程源码详解
- Virtual Box虚拟机Ubuntu18.X系统安装及Mysql基本开发配置
- java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)
- C# 默认访问权限
- python基础之逻辑运算符
- 为什么单线程的Redis这么快?
- ArcPy 创建图层空间索引