2008-7-3 12:06
olive
奇怪的SQL問題,format以后运行速度加快?
我有一条SQL,比较长,一开始写的时候没有换行,运行的时候奇慢,甚至撑爆temp空间,但是我用toad的format功能整理了一下,就运行的很快。
format没有做任何的改动,只是把原来的一行改成了多行,加了一些空格之类,改善了可读性而已,怎么会造成运行速度的差异?
2008-7-3 12:21
DragonBill
这个速度跟SQL的排版没有关系吧?
2008-7-3 12:38
jvkojvko
很纳闷,怎么会这样呢?
2008-7-3 15:30
yuchangle
服务器原因
2008-7-3 15:34
shiguibao
莫非是format成了oracle喜欢的格式,哈哈:)
2008-7-3 15:47
棉花糖ONE
最好对比下前后的执行计划
2008-7-3 18:18
olive
[quote]原帖由 [i]棉花糖ONE[/i] 于 2008-7-3 15:47 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10843242&ptid=1015926][img]http://www.itpub.net/images/common/back.gif[/img][/url]
最好对比下前后的执行计划 [/quote]
对,应该对比一下执行计划。
另,这里简直成了水版。
2008-7-3 20:50
zhangfengh
水吗?哪个帖子?pm给我,我处理去
2008-7-3 21:21
laobai1982
tode 我不用但是pl/sqldevenper的格式化肯定没这功能!肯定不是格式化的问题!
2008-7-3 23:02
cosio
最好贴代码!
2008-7-4 16:51
olive
代码贴出来没有什么用,因为没有数据,也运行不了。
2008-7-4 22:24
newkid
不是格式化的问题,是因为数据进了CACHE,第二次就比较快。
alter system flush buffer_cache;
再运行一次看看是不是变慢了?
2008-7-4 23:33
olive
[quote]原帖由 [i]newkid[/i] 于 2008-7-4 22:24 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10860582&ptid=1015926][img]http://www.itpub.net/images/common/back.gif[/img][/url]
不是格式化的问题,是因为数据进了CACHE,第二次就比较快。
alter system flush buffer_cache;
再运行一次看看是不是变慢了? [/quote]
不是这个原因,反反复复运行好几次了。
2008-7-5 00:02
liangf215
第二次执行时有第一次的执行 oracle已经解析了语句而且把数据放到缓存了
2008-7-5 08:36
sunfly1983
同意楼上的观点,第二次执行是不用在从磁盘度数据了!速度会大幅度增加!
2008-7-5 09:30
alantany
应该是optmizer_mode不同导致的
2008-7-5 10:52
newkid
跟optmizer_mode无关,他两次编译又没有改变optmizer_mode,两个等价SQL应该生成同样的计划。
2008-7-5 12:41
caizhuoyi
是不是你格式化的同时cursor_sharing参数被人改了。
2008-7-5 12:57
ispu
感觉上可能是优化器变化了。有可能那个表原来没做统计,但扫描一次后也重新生成执行策略了,相当于重新分析了一下表。
页:
[1]
2

Powered by ITPUB论坛