分析存储过程重新编译的原因

  存储过程包含一组复杂的SQL语句,使生成存储过程的执行计划的代价有些高。因此通常重用存储过程的执行计划来代替生成新计划是有利的。但是有时候现有的计划可能不适用或者在重用期间可能不能提供最佳的处理策略。SQL Server重编译存储过程中的语句来生成一个新的执行计划以解决这个问题。

时间: 2024-10-07 17:46:44

分析存储过程重新编译的原因的相关文章

分析存储过程重编译的起因以及避免

为了改进性能,分析重编译的起因很重要.往往,重编译可能并不需要,可以避免它以改进性能.了解导致重编译发生的不同条件有助于评估重编译的起因,并决定在重编译不必要时避免它的方法. 存储过程重编译在以下情况下发生: 存储过程语句中引用的常规表.临时表或视图的架构变化.架构变化包括表的元数据或表上索引的变化: 常规或临时表的列上的绑定(如默认/规则)变化. 表索引或列上的统计的变化超过一定的阈值. 存储过程编译时一个对象不存在,但是在执行期间创建(延迟对象解析): SET选项变化: 执行计划老化并释放:

存储过程重编译的优点、缺点、确定引发语句

存储过程通过明确地将查询的可变部分转换为参数来增进执行计划的可重用性.这使执行计划在查询以可变部分的相同或不同值重新提交时可以被重用.存储过程包含一组复杂的SQL语句,使生成存储过程的执行计划的代价有些高.因此,通常重用存储过程的执行计划来代替生成新计划是有利的.但是,有时候现有的计划可能不适用或者在重用期间可能不能提供最佳的处理策略.SQL Server重编译存储过程中的语句来生成一个新的执行计划,以解决这个问题. 一.重编译的好处 存储过程的重编译既有好处又有缺点,有时候,为查询考虑一个新的

SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨

SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile).那么引发存储过程重编译的条件有哪一些呢?下面罗列了一些导致重编译(recompile)的条件:     - 对查询所引用的表或视图进行更改(ALTER TABLE 和 ALTER VIEW).     - 对执行计划所使用的任何索引进行更改.     - 对执行计划所使用的统计信息进行更新,这些更新可能是从语句(如 UPDATE STA

如何track存储过程的编译次数

原文:如何track存储过程的编译次数 转载自此处 有个script我们很熟悉,是用来去查找当前SQL Server中哪些存储过程变重编译的次数最多的: --Gives you the top 25 stored procedures that have been recompiled. select top 25 sql_text.text, sql_handle, plan_generation_num,  execution_count, dbid,  objectid into DMV_

PLSQL Developer 运用Profiler 分析存储过程性能

最近应公司需要,需要编写ORACLE存储过程.本人新手,在完成存储过程的编写后,感觉需要对存储过程中各个语句的执行时间进行分析,以便 对整个存储过程进行优化. 由于用的是PLSQL Developer 客户端工具,而网上大多介绍的是通过手工方法应用Profiler,使用相对比较烦杂,大致是通过命令行,以SYS用户 首先创建dbms_profiler包,而且还要创建一个用于存放跟踪信息的用户,及其prof表和序列的同义词,最后用profiler用户创建prof表和序列,并赋权. 这里对这种方法就不

[转]PLS-S-00201, identifier 'CALLDEMO.GET_EMPLOYEES' must be declared 预编译错误原因及解决办法

$ proc sample9.pc SQLCHECK=SEMANTICS Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Jan 8 15:18:40 2013 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved. System default option values taken from: /usr/local/oracle/produc

Visual Studio 2017创建.net standard类库编译出错原因

正式版上个月已经Release了,从那时到现在经常会收到更新提示,估计问题还不少吧!其中最吸引我的当然是.net standard与.net core. 刚好最近接触.net standard项目,新建一个类库直接编译却出错!!立马心情不太好了,对它的兴趣大打折扣! 如果是新手估计立马就会吐槽了!作为老手还是静下心来看看原因. 看最后一项: 找不到资产文件“c:\users\newblifes\documents\visual studio 2017\Projects\TestDemo\Test

OC中 self.view.frame.size.height = 100; 不能通过编译的原因

在OC中,当需要修改一个view的尺寸时,通常是通过先将 self.view.fram赋值给一个临时变量,然后修改临时变量,最后将临时变量赋值给 self.view.frame.代码如下: 1 // 1. 用一个临时变量保存返回值. 2 CGRect temp = self.view.frame; 3 4 // 2. 给这个变量赋值.因为变量都是L-Value,可以被赋值 5 temp.size.height = 100f; 6 7 // 3. 修改frame的值 8 self.view.fra

从根本分析网站降权的原因与解决方法

网站降权了该怎么办?这个是做seo优化人员的经常面临与遇到的问题,不知道该从何分析与着手,下面小编就带着大家来分析原因并解决网站降权:        网站优化从两方面着手,站内优化与站外优化,首先我们先从站内优化开始分析: 1.锚文本过分 许多站长喜好做锚文本和全站毗邻,每更新一篇文章,见关键词就做锚文本,见主页关键词就做全站毗邻,至使蜘蛛在抓取日志的时分,有区分优化过速,刻意搜刮引擎优化的猜忌,被罚降权. 解决方法: 淘汰锚文本的数目,通常1000字的文章,放10个没关系.尚有,放关键词超毗邻