什么是SQL执行计划

 我来答
滟丽00
高粉答主

2019-07-21 · 繁杂信息太多,你要学会辨别
知道答主
回答量:1487
采纳率:0%
帮助的人:24.5万
展开全部

SQL执行计划指的是查看一条SQL语句在数据库中实际执行的时候,一步步清手的分别都做了什么,具体数据库查看执行计划的操作步骤如下:

1、首先,打开一个的sql server的数据库管理界面当中。

2、然后选中的要执行的sql语句

3、点击了的菜单中的查询的菜单。

4、点击了查询菜单之后,弹出了下拉菜单选中答燃嫌为显示估计的执行计划的选项。

5、然后点击执行计划。

6、段消可以看到是相关的执行计划的相关的数据。

卷帘青山H
高粉答主

2019-07-02 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:426
采纳率:100%
帮助的人:20.6万
展开全部

SQL执行计划,就是一条SQL语句,在数据库中实际执行的时候,一步步的分别都做了什么。

执行计划是由各类操作符组成的一颗树,也就是排序好的操作符的展现形式枣兄,从内到外依次没乱执行

一般的执行计划格式为

OP1

OP2

OP3

OP4

OP5

OP6

OP7

OP8

缩进越多的越先执行,同凳察袭样缩进的上面的先执行,下面的后执行,上下的优先级高于内外

OP3->OP4->OP2->OP7->OP8->OP6->OPT5->OP1

扩展资料

同一个SQL在共享池中有多个不同的执行计划被称为版本(VERSION)。即使是使用了良好的绑定变量,但仍然有可能会出现多个不同的执行计划,即VERSION_COUNT比较大。

这个字段也表示有多少个child cursors在一个parent下面。

由于配置参数、执行环境(用户)等不同,即使一个相同的sql语句,在执行的过程中,会出现各种各样的执行计划。每个执行计划的执行,也就产生了一个child cursor。version_count就表示这个意义。

可以通过以下方法来确定是否真的具有那么多的version_count:

ALTER SESSION SET EVENTS 'immediate trace name LIBRARY_CACHE level 4'; 

来dump出内存来确信改sql是否具有那么多的version,也可以通过查询v$sql (可以通过hash_value跟v$sqlarea联合)来看child_number的个数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿淼277
推荐于2017-09-24 · TA获得超过209个赞
知道答主
回答量:132
采纳率:0%
帮助的人:133万
展开全部
一个SQL语句表示你所想要得到薯枯键的但是并没有告诉Server如何去做. 例如, 利用一个SQL语句, 你可能要Server取出所有住在Prague的客户. 当Server收到的这条SQL的时候, 第一件事情并不是解析它. 如果这条SQL没有语法错误, Server才会继续工作. Server会决定最好的计算方式. Server会选择, 是读整个客户表好呢, 还是利用索引会比较快些. Server会比较所有可能方法所耗费的资源. 最终SQL语句被物理性执行的方法被称做执行计划或者是查询计划.
一个执行计划右若干基本操作组成. 例如, 遍历整张表, 利用索引, 执行一个嵌套循环或Hash连接等等. 我们将在这一系列的文章里详细讨论. 所有的基本数巧操作都有一个输出: 结果集. 有些, 象嵌套循环, 有一个输入. 其他的, 象Hash连接, 有两个输入. 每个输入应与其它基本操作的的输出想连接. 这也就是为什么一个执行可以被看做是一个数的原因: 信败并息从树叶流向树根. 在文章的下面部分有很多诸如此类的例子.
负责处理或计算最优的执行计划的DB Server组件叫优化器. 优化器是建立在其所在的DB资源的基础上而进行工作的.
说白了就是数据库服务器在执行sql语句之前会制定几套执行计划!看那个机会消耗的系统资源少,就是用那套计划!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式