当前位置:首页 » 存储配置 » db2存储过程执行计划

db2存储过程执行计划

发布时间: 2024-09-24 18:47:28

存储过程EXECUTE IMMEDIATE V_sql执行很慢或出不来,如果把V_SQL语句拿出来单独执行很快,这是为什么

这个可能的原因有很多;
首先,execute immediate v_sql语句需要硬解析,这是一个较为耗时的过程,而直接拿出来执行的语句,其查询分析树已经存在,所以只需要软解析。
另外,execute immediate语句由于是硬解析,所以每次出来的计划都有可能不同,这是最需要注意的,可以为两种执行方法设置10046跟踪,看一下每种方法的耗时点,以及执行计划的异同。

以下配置可以在plsql developer的命令窗口中执行,也可以在sqlplus中执行;

sql> alter session set events '10046 trace name context forever,level 8';
sql > execute immediate v_sql;
sql> v_sql;

sql> alter session set events '10046 trace name context off';

完成上述操作后登录到数据库服务器上,在cmd(windows)或者 shell(unix)环境下执行
$ tkprof tracefile.trc tracefile.txt sys=no

② 如何查看存储过程的执行计划

存储过程没有执行计划 只有SQL 有执行计划。
你可以把存储过程里面的SQL 逐个分析
有用记得采纳

③ 存储过程第一次执行耗时30分钟,第二次开始每次耗时不到3分钟,这是什么原因

sql是高级语言,数据库系统执行sql之前要将sql语句进行解析(相当于编译),这个过程叫硬解析;数据库系统每次执行sql之前都会检查共享池中是不是存在已经解析过的语句,如果有就拿来直接用,这叫软结息。软解析比硬解析效率高,这是影响因素之一;
二、第一次执行可能没有走索引,第二次执行使用第一次执行的执行计划
三、看你的存储过程做了些什么,有可能第一次把活干完了,导致第二次执行没什么活干
以上回答基于oracle体系结构

④ oracle存储过程是从上到下执行吗

是。oracle存储过程是原则从上至下;从右向左由上至下,在执行计划中一般含有多个节点,所以是。存储过程(StoredProcere)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

⑤ 数据库存储过程、函数、触发器的区别

存储过程和函数的区别:
1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。
4. 当存储过程和函数被执行的时候,SQL Manager会到procere cache中去取相应的查询语句,如果在procere cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。
Procere cache中保存的是执行计划 (execution plan) ,当编译好之后就执行procere cache中的execution plan,之后SQL SERVER会根据每个execution plan的实际情况来考虑是否要在cache中保存这个plan,评判的标准一个是这个execution plan可能被使用的频率;其次是生成这个plan的代价,也就是编译的耗时。保存在cache中的plan在下次执行时就不用再编译了。
触发器、存储过程和函数三者有何区别:
触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行;
在什么时候用触发器?要求系统根据某些操作自动完成相关任务。
什么时候用存储过程?
存储过程就是程序,它是经过语法检查和编译的SQL语句,所以运行特别快。
存储过程和用户自定义函数具体的区别
先看定义: 存储过程存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。
存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。 可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点: 可以在单个存储过程中。

热点内容
没有支付密码怎么支付 发布:2024-09-24 21:08:35 浏览:113
海量数据的分布式存储 发布:2024-09-24 21:00:31 浏览:41
思科模拟器反向acl怎么配置 发布:2024-09-24 20:28:41 浏览:765
如何取消文件夹加密 发布:2024-09-24 20:26:30 浏览:668
java中的list 发布:2024-09-24 20:22:10 浏览:765
建飞加密模块 发布:2024-09-24 20:22:09 浏览:247
旅人栈桥服务器怎么样 发布:2024-09-24 20:13:55 浏览:844
vps测试脚本 发布:2024-09-24 20:13:49 浏览:198
ftp使用端口号是 发布:2024-09-24 20:03:07 浏览:972
如何重新配置dp 发布:2024-09-24 19:51:21 浏览:487