查看sql语句的执行计划
查看sql语句的执行步骤
作为后端工程师,sql语句的优化是非常有必要的,但是如果没有人来说的话,初学者是不知道该如何优化比较好,所以这篇博客就是教大家来看sql语句的执行计划,进而学会优化sql语句
sql server
这次选用的数据库是sql server,如果大家想要看mysql的执行计划,也可以上百度去找mysql如何查看执行计划,但是这篇博客主要是分析怎么执行计划。
查看执行计划
在navicat上面查看
先点击1,运行你的sql语句,然后再点击2,解释你的sql语句
在server studio上面查看
- 先点击文件
- 再点击新建
- 再点击 sql server compact查询
- 然后连接你的数据库
- 写上你需要查看的sql语句
- 然后点击包括实际执行计划
分析
索引的分类
- 聚集索引
就是你的表有索引的查询,一般都是聚集索引 - 非聚集索引
相反,非聚集索引就是当你的表中没有索引时,就是非聚集索引
聚集索引的方式会优于非聚集索引方式
查看索引分类
在studio中查看
在logical operation中,如果有clustered在前面时就是聚集索引
在navicat中查看
在logicalop中如果有clustered开头就是聚集索引
扫描方式
- Table Scan
Table Scan这种扫描方式是遍历全表查询,速度数最慢的一种 - Index Scan
Index Scan这种是筛选一部分数据,然后再进行匹配 - Index Seek
Index Seek这种是依据索引条件,直接定位到数据
开销
执行sql语句分别有三种开销
- I/o开销
数据从磁盘加载到内存,再从内存中缓存,输出到应用端的开销 - cpu开销
cpu开销,是指运行这段sql语句所占的cpu - 子树开销
查询优化器执行此操作及同一子树内位于此操作之前的所有操作的总开销
这两个开销是精密相连的,一旦优化一部分,另外一部分也会相对减少
估计行数
估计行数,就是估计需要扫描的行数,
在navicat中是Estimate
估计每一行的字节数
在navicat中是AvgRowSize
根据以上这些参数查看每个执行步骤的执行计划,就可以对应的优化我们的sql语句了
查看sql语句的执行计划相关推荐
- 【Oracle】三种方式查看SQL语句的执行计划
查看执行计划的方式有三种: EXPLAIN PLAN .V$SQL_PLAN .SQL*PLUS AUTOTRACE 1.EXPLAIN PLAN: 显示执行相应语句时可以使用的理论计划 读取执行计划 ...
- oracle++spm,ORACLE 11G 使用SPM来调整SQL语句的执行计划
跟大家说明一下: ITSM 数据库迁移升级到11G后,有几条SQL语句的执行计划不正确,而且这些语句都是使用绑定变量的. 最初的调整想法是获得这些的语句的绑定变量值,将获得的字面值直接替换SQL语句的 ...
- MySQL查看SQL语句执行效率和mysql几种性能测试的工具
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好 ...
- mysql 压力测试知乎_MySQL查看SQL语句执行效率和mysql几种性能测试的工具
网络中整理,记录下,朋友们应该用得到! Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮 ...
- MySQL查看SQL语句执行效率
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好 ...
- 查看ORACLE的实际执行计划
ORACLE的执行计划分为预估执行计划和实际执行计划.其中,你用Toad.PL/SQL Developer.SQL Developer.EXPLAIN PLAN FOR或者SET ATUOTRACE ...
- SQL语句的解释计划
可以通过plsql的工具-解释计划查看sql语句的解释计划; 一个关键的视图: select sql_text, first_load_time, action, ...
- Oracle 查看sql语句执行计划方法
注意这篇文章只介绍查看sql语句执行计划的方法, 并不是说明如何看懂执行计划. 一般来讲, 直接在sqlplus 执行 set autotrace on; 就可以了 其前提是登陆用户必须有视图 v_ ...
- ORACLE 查看有多个执行计划的SQL语句
在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一 ...
- 执行计划 分析一条sql语句的效率 mysql_MySQL中一条SQL语句的执行过程
MySQL中一条SQL语句的执行过程 发布时间:2018-11-24 18:35, 浏览次数:390 , 标签: MySQL SQL 查询语句的执行顺序: 1.客户端通过TCP连接发送连接请求到mys ...
最新文章
- 04.Beetl常用内置函数以及安全输出---《Beetl视频课程》
- PIC32单片机harmony开发环境搭建并新建harmony工程
- java方法示例注释 @_Java 8中的功能接口是什么? @功能注释和示例
- 马斯克回应“逃税”:没有从特斯拉领取高薪 一直在按规定缴税
- Android组件系列-----Activity保存状态
- x86架构和arm架构_苹果Mac弃用英特尔芯片成真,ARM架构CPU真比X86香?
- postman json 中写注释_Swagger界面丑、功能弱怎么破?用Postman增强下就给力了!
- 高性能访客记录系统如何设计?
- 面向对象设计模式纵横谈:Prototype 原型模式(笔记记录)
- 注意程序的[error]log
- 02.规划过程组表格-活动成本估算
- 编译cloog for gcc 4.8.5 问题
- 安卓中的乱码以及编码问题
- android自动签约续费功能,微信代扣 Android 开发流程
- 当开发人员说不是BUG时如何应对
- 微信公众号软件 php,写公众号文章的软件有哪些?
- iview 下拉select样式_iview的select组件的列表样式和点击都无效
- 大学计算思维c语言答案,【程序设计论文】计算思维为下的C语言程序设计教学(共2755字)...
- 数据库原理 概念结构设计-E-R图及其设计
- 听说台积电去美国建厂出问题了?张忠谋:明年再说
热门文章
- Ubuntu18.04终端里,随意拖动或双击会出现ctrl+C的效果,解决
- .mmap文件用什么软件可以打开?
- Java快逸报表展现demo_快逸报表展示图片—来自本地/网络的图片
- android 歌词的显示不出来,网易云音乐歌词不显示怎么办 网易云显示不出歌词的解决方法...
- Android保存音频文件
- 《菜菜的机器学习sklearn课堂,孔浩Java视频百度云盘
- 解决eclipse乱码问题
- chrome多版本共存
- chromedriver 与 chrome 版本对照表
- 高等代数——大学高等代数课程创新教材(丘维声)——3.2笔记+习题