当前位置:   article > 正文

查看sql语句的执行计划_sql带参数查看执行计划

sql带参数查看执行计划

查看sql语句的执行步骤

作为后端工程师,sql语句的优化是非常有必要的,但是如果没有人来说的话,初学者是不知道该如何优化比较好,所以这篇博客就是教大家来看sql语句的执行计划,进而学会优化sql语句

sql server

这次选用的数据库是sql server,如果大家想要看mysql的执行计划,也可以上百度去找mysql如何查看执行计划,但是这篇博客主要是分析怎么执行计划。

查看执行计划

navicat上面查看

在这里插入图片描述
先点击1,运行你的sql语句,然后再点击2,解释你的sql语句

在server studio上面查看
  1. 先点击文件
  2. 再点击新建
  3. 再点击 sql server compact查询
  4. 然后连接你的数据库
  5. 写上你需要查看的sql语句
  6. 然后点击包括实际执行计划
    在这里插入图片描述

分析

索引的分类

  1. 聚集索引
    就是你的表有索引的查询,一般都是聚集索引
  2. 非聚集索引
    相反,非聚集索引就是当你的表中没有索引时,就是非聚集索引

聚集索引的方式会优于非聚集索引方式

查看索引分类

在studio中查看

在这里插入图片描述
在logical operation中,如果有clustered在前面时就是聚集索引

在navicat中查看

在这里插入图片描述
在logicalop中如果有clustered开头就是聚集索引

扫描方式

  1. Table Scan
    Table Scan这种扫描方式是遍历全表查询,速度数最慢的一种
  2. Index Scan
    Index Scan这种是筛选一部分数据,然后再进行匹配
  3. Index Seek
    Index Seek这种是依据索引条件,直接定位到数据

开销

执行sql语句分别有三种开销

  1. I/o开销
    数据从磁盘加载到内存,再从内存中缓存,输出到应用端的开销
  2. cpu开销
    cpu开销,是指运行这段sql语句所占的cpu
  3. 子树开销
    查询优化器执行此操作及同一子树内位于此操作之前的所有操作的总开销

这两个开销是精密相连的,一旦优化一部分,另外一部分也会相对减少

估计行数

估计行数,就是估计需要扫描的行数,
在navicat中是Estimate

估计每一行的字节数

在navicat中是AvgRowSize

根据以上这些参数查看每个执行步骤的执行计划,就可以对应的优化我们的sql语句了
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/755084
推荐阅读
相关标签
  

闽ICP备14008679号