11g新特性之忽快忽慢的执行速度
今天在调一些固定的SQL,调整一下写法,加点注释,改几个别名什么的,本身没什么事情。 结果在其中某一个SQL的时候,忽然卡住了。一共是三个左连接一个EXISTS,每张表都不超过一百万行。按道理说,这种SQL就算慢,也不会超过一分钟,就得出结果。结果执行的
今天在调一些固定的SQL,调整一下写法,加点注释,改几个别名什么的,本身没什么事情。
结果在其中某一个SQL的时候,忽然卡住了。一共是三个左连接一个EXISTS,每张表都不超过一百万行。按道理说,这种SQL就算慢,也不会超过一分钟,就得出结果。结果执行的效果让我很困惑。头一次执行的时候很快,非常快,两秒出结果。再执行一次,就要很久了,反正我是没等到过结果。最长一次等了半小时,我中午饭都吃完了思密达。。。
看计划,没问题,一点问题都没有。看数据库的负载,也没什么问题。可以说库是很闲的。那这是为啥?能执行,能有速度快的,说明Oracle能找到基本正确的计划。但是为什么第二次会慢呢?一下子就想到了一个新特性,11g里对执行计划的新改进。
_OPTIMIZER_USE_FEEDBACK
简单可以理解为这是Oracle对CBO的一种持续改进。本身PLAN就是基于各种数据对实际执行时间的一种推测,COST也是基于一些算法得到的结果,不是一个确切的值。当Oracle执行过这个语句以后,可以在实际环境中得到一些采样结果,这些结果是实际跑出来的,不是推测或者算出来的。这些值比计算得到的COST和ROWS要来的靠谱的多,于是11g就打算用这些值来做动态推测,基于一个可信的执行计划的详细明细来得到更加贴切实际的计划改进。
但是俗话说的好,Oracle不到R2不要用,咳咳。。。
我的SQL就是被这个参数给搞了一下,Oracle依据首次执行的结果优化了,然后我郁闷了。。。
说说验证和解决办法吧。验证的话可以加HINT,OPT_PARAM(’_OPTIMIZER_USE_FEEDBACK‘,‘FALSE’)。如果加过以后,执行效果不再乱飘了,那么就去把这个隐含参数改成false吧。
提示一下,改隐含参数要加引号,写成“a“=b的样子,具体怎么改就不说了,能看到这里的人,改个参数还是会的,是吧。可以改session和system,都不用重启。
原文地址:11g新特性之忽快忽慢的执行速度, 感谢原作者分享。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

格式化筆記型電腦會使其速度更快嗎?如果您想格式化您的Windows筆記型電腦,但想知道它是否會使速度更快,本文將幫助您了解這個問題的正確答案。格式化筆記型電腦會使其速度更快嗎?使用者格式化Windows筆記型電腦的原因有很多。但最常見的原因是筆記型電腦的效能或速度緩慢。格式化筆記型電腦會徹底刪除C碟或安裝Windows作業系統的硬碟分割區上儲存的所有資料。因此,每個用戶在採取這一步驟之前都會三思而後行,尤其是在筆記型電腦的性能方面。本文將幫助您了解格式化筆記型電腦是否會加快速度。格式化筆記型電腦有助於

Laravel是一款廣受歡迎的PHP開發框架,但有時候被人詬病的就是其速度慢如蝸牛。究竟是什麼原因導致了Laravel的速度不盡人意呢?本文將從多個面向深入解讀Laravel速度慢如蝸牛的原因,並結合具體的程式碼範例,幫助讀者更深入地了解此問題。 1.ORM查詢效能問題在Laravel中,ORM(物件關係映射)是一個非常強大的功能,可以讓

谷歌瀏覽器的單核心要比雙核心瀏覽器速度慢嗎?現在很多人都在使用各式各樣的瀏覽器上網衝浪,谷歌瀏覽器就是其中之一,作為瀏覽器中的引領者,其技術毋庸置疑。有些小夥伴常問小編,大家口中所說的瀏覽器單雙核是什麼意思?這會影響到瀏覽器的載入速度嗎?今天小編就跟大家好好聊聊這個問題吧。谷歌瀏覽器的單核心與雙核心瀏覽器速度PK首先,小編先給大家一個結論:單核心谷歌瀏覽器較於雙核心瀏覽器在速度上是不慢的。瀏覽器的核心並不是就像電池一樣,數量越多就越強。雙核心瀏覽器其中一個核心是IE瀏覽器內核,另一個核心為WebKit

在Golang(Go語言)中並沒有傳統意義上的類別的概念,但它提供了一種稱為結構體的資料類型,透過結構體可以實現類似類別的物件導向特性。在本文中,我們將介紹如何使用結構體實現物件導向的特性,並提供具體的程式碼範例。結構體的定義和使用首先,讓我們來看看結構體的定義和使用方式。在Golang中,結構體可以透過type關鍵字定義,然後在需要的地方使用。結構體中可以包含屬

近日,LGDisplay宣布,其27吋480HzQHD遊戲OLED面板正式投入量產。該面板在OLED產品中創造了刷新率和響應速度的新高,480Hz的刷新率搭配0.02ms的GtG灰階響應時間,較之前0.03ms的記錄更進一步,為FPS、賽車等遊戲類型帶來極致體驗。新面板優化LGDisplay的METATechnology技術提升了OLED材質發光效率。畫質增強,鏡面反射大幅減少。四面無邊框設計擴大了視野範圍,帶來沉浸感體驗。像素結構優化WRGB像素結構針對遊戲和文件編輯需求最佳化。文字顯示更加清

隨著網路的快速發展,程式語言也不斷演化和更新。其中,Go語言作為一種開源的程式語言,在近年來備受關注。 Go語言的設計目標是簡單、有效率、安全且易於開發和部署。它具有高並發、快速編譯和記憶體安全等特性,讓它在Web開發、雲端運算和大數據等領域中有著廣泛的運用。然而,目前Go語言也有不同的版本可供選擇。在選擇合適的Go語言版本時,我們需要考慮需求和特性兩個面向。首

作為一款備受關注的旗艦手機,麒麟9000s一推出便引起了廣泛的討論和關注。它搭載了麒麟9000系列最新的旗艦晶片,性能堪稱強勁。那麼,麒麟9000s的性能究竟如何?讓我們一起來探討。首先,麒麟9000s採用了全新的5nm製程製造,大幅提升了晶片的效能和功耗控制。與之前的麒麟處理器相比,麒麟9000s在效能上有著明顯的提升。無論是運行大型遊戲、多工或

Golang在雲端運算中的優勢何在?隨著雲端運算技術的快速發展,對於開發人員來說,選擇合適的程式語言變得特別重要。在眾多程式語言中,Golang(Go語言)因其並發性能優秀、簡潔高效而備受關注。本文將探討Golang在雲端運算中的優勢,並結合具體的程式碼範例加以說明。 1.並發性能優秀Golang是一種支援並發程式設計的程式語言,透過goroutine和channel的
