曾经在网络上看到过一种说法,SqlServer的存储过程中使用临时表,会导致重编译,以至于执行计划无法重用,运行时候会导致重编译的这么一个说法,自己私底下去做测试的时候,根据profile的跟踪结果,存储过程中使用临时表,如果不是统计信息变更导致导致的重编译,并不会导致重编译,但是现实情况 ...
为了改进性能,分析重编译的起因很重要。往往,重编译可能并不需要,可以避免它以改进性能。了解导致重编译发生的不同条件有助于评估重编译的起因,并决定在重编译不必要时避免它的方法。 存储过程重编译在以下情况下发生: 存储过程语句中引用的常规表 临时表或视图的架构变化。架构变化包括表的元数据或表上索引的变化 常规或临时表的列上的绑定 如默认 规则 变化。 表索引或列上的统计的变化超过一定的阈值。 存储过 ...
2013-11-19 16:40 1 4351 推荐指数:
曾经在网络上看到过一种说法,SqlServer的存储过程中使用临时表,会导致重编译,以至于执行计划无法重用,运行时候会导致重编译的这么一个说法,自己私底下去做测试的时候,根据profile的跟踪结果,存储过程中使用临时表,如果不是统计信息变更导致导致的重编译,并不会导致重编译,但是现实情况 ...
SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile)。那么引发存储过程重编译的条件有哪一些呢?下面罗列了一些导致重编译(recompile)的条件: - 对查询所引用的表 ...
本文出处:http://www.cnblogs.com/wy123/p/6262800.html 在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是 ...
这个是在工作中针对存储过程做血缘分析的时候使用到的,用的时候还是挺好用的,记录一下 希望后面遇到类似的即可立即投入使用! 1.检查存储过程使用哪些表: 2.检查表在哪些存储过程中使用: 总结,此过程在仓库操作中,对多余的表清理中可以使用此来进行排查 ...
oracle存储过程已被编译但出错,代码编写错误,这时候需要调试,找到创建的存储过程,然后右击,选择查看,运行可查看报错信息 存储过程调试: 1.找到要调试的存储过程,右击,点击添加调试信息,点击测试 2.逐步运行,可以跳入要调试的存储过程,进入后就可以开始调试了 ...
数据的分页是我们再熟悉不过的功能了,各种各样的分页方式层出不穷。今天我把一些常见的存储过程分页列出来,再简单地测一下性能,算是对知识的总结,也是对您好想法的抛钻引玉。废话不多说,开始吧~~ 1.首先建立一张测试表 2.循环插入1000000条测试数据 3.晒 ...
第一种 如果你使用 PL/SQL Developer工具 左侧工具栏中选择“存储过程”-》选择已经失效的procedure-》右键-》选择重新编译 即可完成 第二种 命令行版 1.查找到无效对象 select 'Alter '||object_type ...
解决方法如下: 1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CRM_LASTCHGINFO_DAY' AND LOCKS!='0'; 注意:CRM_LASTCHGINFO_DAY为存储过程的名称。 发现 ...