什么是sql执行计划

什么是sql执行计划,第1张

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的个数

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

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

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

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

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

5、然后点击执行计划。

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

简单一点说就是oracle如何执行sql语句的,比如说你去一个地方,事先会计划好怎么坐车一样,先坐公交到哪儿再坐地铁,oracle的执行计划也是如此,就是一步一步执行sql,比如说先查数据再排序,或者先作子查询再作主查询什么的。oracle的执行计划很复杂的,一般我们看到的执行计划都是oracle通过内部算法计算以后选择的一个消耗比较少的执行路径,就像我们去哪里也要选择一条捷径一样的道理。呵呵…


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10833638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存