当前位置:网站首页>根据Explain查看sql执行计划,对SQL进行优化
根据Explain查看sql执行计划,对SQL进行优化
2022-06-28 02:16:00 【热爱Java的编程小白】
1.使用Explain关键字查看SQL的执行计划
语句为:EXPLAIN "你的sql语句"

而后根据上图查出来的sql执行计划主要关注两点1.Type是否全表查询 ALL代表全表查询,2.关注rows 查看扫描了多少行(估算值),两者既可判定是否需要优化
2.确定该sql是需要优化的
使用 show index from tableName(表名)
查看该表使用了哪些索引,以免索引创建冲突
3.结合前两次操作判断在哪个字段上面使用索引,建议是在where条件后面的字段添加索引,但是有一点需要特别注意:状态字段或者性别字段添加索引是无意义的(尽量选择区分度高的字段作为索引,区分度的公式是 count(distinct col)/count(*),表示 字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是 1,而一些状态、 性别字段可能在大数据面前区分度就是 0。在性别字段上增加索引,并不能明显加快检索 速度
原文链接:https://blog.csdn.net/qq_43193797/article/details/88592605)
创建索引的语句是:create index 自定义索引名 on 表名(字段名)
4.创建索引后再去执行一遍explain "sql语句" 结合前面所提到的两个指标是否有了优化,如果没有任何优化效果,可能就是索引失效了。
总结;创建索引虽然可以大大提高查询的速度,但是会降低更新和插入的速度,因为索引也需要进行更新,所以添加索引尽量结合实际业务需求添加
边栏推荐
- Single page application (SPA) hash route and historical API route
- Domain Name System
- 2-5 basic configuration -win2003 add attack surface
- Mixed programming of C language and assembly language in stm32
- 项目实战!手把手教你 Jmeter 性能测试
- Severe Tire Damage:世界上第一个在互联网上直播的摇滚乐队
- Gateway微服务路由使微服务静态资源加载失败
- Gateway微服務路由使微服務靜態資源加載失敗
- Dataloader参数collate_fn的使用
- 微信小程序中生成二维码
猜你喜欢
![[today in history] June 20: the father of MP3 was born; Fujitsu was established; Google acquires dropcam](/img/54/df623fc1004e1dca5d369b4ed2608c.png)
[today in history] June 20: the father of MP3 was born; Fujitsu was established; Google acquires dropcam

Domain Name System

剑指 Offer 47. 礼物的最大价值(DP)

2022年R1快開門式壓力容器操作特種作業證考試題庫及答案

Feign远程调用fallback回调失败,无效果

2022危险化学品经营单位安全管理人员特种作业证考试题库模拟考试平台操作

2-5 basic configuration -win2003 add attack surface

Tips for visiting the website: you are not authorized to view the recovery method of this page

【插件-statistic】统计代码行数和相关数据
![[today in history] June 18: JD was born; The online store platform Etsy was established; Facebook releases Libra white paper](/img/88/6cdd2b604522261e2a88020c5d6ae7.jpg)
[today in history] June 18: JD was born; The online store platform Etsy was established; Facebook releases Libra white paper
随机推荐
collections.defaultdict()的使用
Usage details of staticlayout
【PaddleDetection】ModuleNotFoundError: No module named ‘paddle‘
剑指 Offer 49. 丑数(三指针法)
2022年R1快开门式压力容器操作特种作业证考试题库及答案
ARM Development Studio build编译报错
嵌入式DSP音频开发
【插件-statistic】统计代码行数和相关数据
Yes, it's about water
Arduino esp8266 web LED control
What are the technologies to be mastered in the test? Database design for software testing
How to write concise code? (upper)
导致系统性能失败的十个原因
访问网站提示:您未被授权查看该页恢复办法
Summary of software testing tools in 2021 - fuzzy testing tools
Apache, IIS6, ii7 independent IP host shielding restricts IP access
js清空对象和对象的值:
[issue 21] face to face experience of golang engineer recruited by Zhihu Society
Severe Tire Damage:世界上第一个在互联网上直播的摇滚乐队
国泰君安证券靠谱吗?开证券账户安全吗?