导航:首页 > 源码编译 > 哪些情况需要重新编译

哪些情况需要重新编译

发布时间:2022-07-14 00:19:23

❶ SQLSERVER 什么时候重新编译执行计划

根据数据库新状态的不同,数据库中的某些更改可能导致执行计划效率降低或无效。SQL Server 将检测到使执行计划无效的更改,并将计划标记为无效。此后,必须为执行查询的下一个连接重新编译新的计划。导致计划无效的情况包括:
对查询所引用的表或视图进行更改(ALTER TABLE 和 ALTER VIEW)。
对执行计划所使用的任何索引进行更改。
对执行计划所使用的统计信息进行更新,这些更新可能是从语句(如 UPDATE STATISTICS)中显式生成,也可能是自动生成的。
删除执行计划所使用的索引。
显式调用 sp_recompile。
对键的大量更改(其他用户对由查询引用的表使用 INSERT 或 DELETE 语句所产生的修改)。
对于带触发器的表,插入的或删除的表内的行数显着增长。
使用 WITH RECOMPILE 选项执行存储过程。
为了使语句正确,或要获得可能更快的查询执行计划,大多数都需要进行重新编译。
在 SQL Server 2000 中,只要批处理中的语句导致重新编译,就会重新编译整个批处理,无论此批处理是通过存储过程、触发器、即席批查询,还是通过预定义的语句进行提交。在 SQL Server 2005 和更高版本中,只会重新编译批处理中导致重新编译的语句。由于这种差异,SQL Server 2000 和更高版本中的重新编译计数不可比较。另外,由于 SQL Server 2005 和更高版本扩展了功能集,因此它们具有更多类型的重新编译。
语句级重新编译有助于提高性能,因为在大多数情况下,只有少数语句导致了重新编译并造成相关损失(指 CPU 时间和锁)。因此,避免了批处理中其他不必重新编译的语句的这些损失。
SQL Server ProfilerSP:Recompile 跟踪事件报告语句级重新编译。此跟踪事件在 SQL Server 2000 中仅报告批处理重新编译。此外,将填充此事件的 TextData 列。因此,已不再需要 SQL Server 2000 中必须跟踪 SP:StmtStarting 或 SP:StmtCompleted 以获取导致重新编译的 Transact-SQL 文本的做法。
跟踪事件 SQL:StmtRecompile 报告语句级重新编译。此跟踪事件可用于跟踪和调试重新编译。SP:Recompile 仅针对存储过程和触发器生成,而SQL:StmtRecompile 则针对存储过程、触发器、即席批查询、使用 sp_executesql 执行的批处理、已准备的查询和动态 SQL 生成。
SP:Recompile 和 SQL:StmtRecompile 的 EventSubClass 列都包含一个整数代码,用以指明重新编译的原因。

python项目代码变更后一定要重新编译吗

一般的时候,你直接用py文件执行就可以了,python会自动编译一些必要的文件。
另外目前py不同的字节码是变动的,也就是说不同版本的字节码还是不兼容,做不动一次编译到处执行。
如果你现在三个文件 main.py, a.py, b.py
其中main是入口,而且在main中有import a.py 和import b.py
那么只会生成a.pyc,b.pyc,而不会生成main.pyc
出发你自己用python中的compile命令编译main.py
以上

linux为什么要重新编译内核

.config 是配置编译内核的最初步骤,你要编译驱动程序,就必须要了解这个,多上网查下资料 然后重新编译 Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。 新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译Linux内核。 通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、 更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是Linux使用者的必要操作内容。 为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面四个考虑: (1)自己定制编译的内核运行更快(具有更少的代码) (2)系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中) (3)不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞 (4) 将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些 编译内核时三个重要文件

❹ c++代码在什么情况下,修改了代码,可以不需要编译

无论是使用集成开发环境,还是使用makefile,都会根据文件的变动时间来判断是否需要进行编译。
例如使用main.cpp编译出来main.exe文件。再次进行编译时,会判断main.cpp是否比main.exe更新。如果更新,就会触发重新编译。
正常情况下,修改代码就应当进行代码的重新编译。但是在某些情况下,由于冗余的头文件引用导致不必要的扩大了编译文件范围。建议在包含头文件时,尽量采用最小原则。不需要使用的头文件就不要包含。

❺ 修改了config文件,程序是否必须重新编译

不需要重编译的。
一般config文件记录一些结构化的配置信息。程序在执行的时候读取,再格式化后使用。配置文件跟执行代码是两部分,不需要重新编译。

❻ 多文件程序调试时,对没有修改的文件是否还要再次编译。

这个取决于编译环境所采用的连接方式。很多像样一点的采用动态连接方式的编译环境都会记录每个源文件的修改情况,未修改的话直接调用先前的编译结果。
这种情况下烧写程序是没有任何影响的。

❼ 什么情况下需要手动编译 Linux 内核

只要你代码或配置有改动,都要重新编译的,只是如果代码写成块模式的,不用整个代码都重新编译,编译器会自动编译改动了的代码。

❽ 依赖的dll更新后什么情况下需要重新编译主程序

有的网站后台代码既有aspx又有CS文件,而且更改CS文件后不需要重新编译,网站直接就改变了,是有好多这样的网站。 主要的原因是:网站编译,可以是整站编译,也可以不编译的。把所有源代码,放在相应目录,也是可以正常运行的,

❾ oracle数据库开发人员说‘需要重新编译一下’是什么意思 是说要重新跑某个过程吗

重新编译,就是某个过程或者函数哪里做了修改 需要重新编译成可以执行的文件,并不是说重新跑某个过程。编译完成之后,把编译好了的过程再重新运行。

❿ 哪些情况需要重新编译存储过程

如果是在plsql developer中修改的,可以直接点那个齿轮图标,或者F8即可编译。 如果是在sqlplus中,那就敲入修改后的过程代码(create or replace procere...),最后以/结尾运行即可。

阅读全文

与哪些情况需要重新编译相关的资料

热点内容
程序员离职率多少 浏览:322
程序员那么可爱电视剧今天没更新 浏览:337
我的世界地形算法 浏览:341
台湾dns的服务器地址云空间 浏览:286
音乐喷泉软件要什么加密狗 浏览:491
androidhttpmime 浏览:774
威科夫操盘法pdf 浏览:981
算法可以用图表表示 浏览:948
山西太原php 浏览:273
常用cmd网络命令 浏览:676
hashmap7源码分析 浏览:898
搜索引擎原理技术与系统pdf 浏览:361
运动估计算法python 浏览:860
java正则1 浏览:538
redhatlinux最新 浏览:182
python字典编程词汇 浏览:147
微信和服务器如何通讯 浏览:13
百家号服务器配置有什么用 浏览:600
怎么为电脑加密 浏览:59
服务器出现差错是什么意思 浏览:619