首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为啥频繁删除和创建临时表,会影响性能

2012-09-15 
为什么频繁删除和创建临时表,会影响性能?为什么频繁删除和创建临时表,会影响性能?[解决办法]tempdb本来就

为什么频繁删除和创建临时表,会影响性能?
为什么频繁删除和创建临时表,会影响性能?

[解决办法]
tempdb本来就有自己的数据文件,而且你删除、创建都要更改系统信息,加之如果你临时表有数据,除非truncate,不然delete的话要加锁、记日志等等。当你内存不足的时候你的操作就会在磁盘上执行,cpu是纳秒级别,内存是微秒级别,磁盘是毫秒级别,每个级别都相差接近1000倍,你可以想象一下。如果不想这样,可以考虑使用cte、表变量等等。不过它们都有其适用范围。
最好的方法还是改进设计,很多书上都有相同的话,就是临时表不应该常用,因为意味着你的设计不合理,经常要很多表的数据才能查出来。
[解决办法]

探讨

引用:
其他不说 频繁的删除和创建表 带来的I/O开销就是一个瓶颈。

我又不读数据文件,会有多少i/o呢?

[解决办法]
消耗系统表的资源了
[解决办法]
看一下这篇帖子吧:CSS SQL Server Engineers
http://support.microsoft.com/kb/328551

创建一个表是需要系统做很多工作的。

热点排行