偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oracle提高SQL的執(zhí)行效率的3種好用方法

數(shù)據(jù)庫 Oracle
以下的文章主要對從Oracle提高SQL的執(zhí)行效率的3種方法的介紹,其中包括使用ordered提示,使用theordered_predicates以及限制表格合并評估的數(shù)量的內(nèi)容描述。

如果你想使Oracle提高SQL在Oracle數(shù)據(jù)庫中的執(zhí)行效率的話,首先你要沖優(yōu)化應(yīng)用的相關(guān)業(yè)務(wù)邏輯開始,如果從技術(shù)的相關(guān)層面來講的話,Oracle也提供了一些方法,今天主要講3種:

Oracle提供了多種方法用于減少花在剖析Oracle SQL表達式上的時間,在執(zhí)行帶有大量執(zhí)行計劃的復(fù)雜查詢時剖析過程會拖累系統(tǒng)的性能。現(xiàn)在我們來簡要地看看這些方法中的幾種。

1、使用ordered提示

Oracle必須花費大量的時間來剖析多表格的合并,用以確定表格合并的***順序。如果SQL表達式涉及七個乃至更多的表格合并,那么有時就會需要超過30分鐘的時間來剖析,因為Oracle必須評估表格合并所有可能的順序。八個表格就會有40,000多種順序。Ordered這個提示(hint)和其他的提示一起使用能夠產(chǎn)生合適的合并順序。

Ordered這個提示會要求列在SQL表達式FROM字句里的表格按照指定的順序進行合并,F(xiàn)ROM字句里的***個表格會指定驅(qū)動表格(driving table)。驅(qū)動表格應(yīng)該是返回最小行數(shù)的表格。使用ordered提示會跳過非常耗時和耗資源的剖析操作,并加快Oracle SQL的執(zhí)行。

Listing A如下:

以下是引用片段:

 

  1. Listing A  
  2. select /*+ ordered use_nl(bonus)  
  3. parallel(e, 4) */ e.ename, hiredate, b.comm from emp e, bonus b  
  4. where e.ename = b.ename ;  

 

Listing A里是一個復(fù)雜查詢的例子,這個查詢被強制進行一個嵌套循環(huán),從而與對emp表格進行的并行查詢合并。要注意,我已經(jīng)使用ordered提示來引導(dǎo)Oracle去按照WHERE子句所列出的順序來評估表格。

2、使用theordered_predicates

ordered_predicates提示在查詢的WHERE子句里指定的,并被用來指定布爾判斷(Boolean predicate)被評估的順序。在沒有ordered_predicates的情況下,Oracle會使用下面這些步驟來評估SQL判斷的順序:

子查詢的評估先于外層WHERE子句里的Boolean條件。

所有沒有內(nèi)置函數(shù)或者子查詢的布爾條件都按照其在WHERE子句里相反的順序進行評估,即***一條判斷***被評估。

每個判斷都帶有內(nèi)置函數(shù)的布爾判斷都依據(jù)其預(yù)計的評估值按遞增排列。

你可以使用ordered_predicates提示來強制取代這些缺省的評估規(guī)則,那么你WHERE子句里的項目就會按照其在查詢里出現(xiàn)的順序被評估。在查詢的WHERE子句里使用了PL/SQL函數(shù)的情況下,通常會使用ordered_predicates提示。

如果你知道限制最多的判斷并且希望Oracle***評估這些判斷的時候,在這種情況下,它也是非常有用的。用法提示:你不能使用ordered_predicates提示來保存對索引鍵進行判斷評估的順序。

3、限制表格合并評估的數(shù)量

Oracle提高SQL剖析性能的***一種方法是強制取代Oracle的一個參數(shù),這個參數(shù)控制著在評估一個查詢的時候,基于消耗的優(yōu)化器所評估的可能合并數(shù)量。

optimizer_search_limit這個參數(shù)會指定表格合并組合的***數(shù)量,后者將會在Oracle試圖確定合并多表格***方式的時候被評估。這個參數(shù)有助于防止優(yōu)化器花更多的時間來評估可能的合并順序,而不是把時間花在尋找***合并順序上。optimizer_search_limit還控制著用于調(diào)用star join提示的闕值,當(dāng)查詢里的表格數(shù)量低于optimizer_search_limit(其缺省的值是5)的時候,star提示就會被光顧。

以上只是一些Oracle DBA用來優(yōu)化Oracle數(shù)據(jù)庫應(yīng)用程序SQL查詢的性能的一些小技巧。

【編輯推薦】

  1. Oracle數(shù)據(jù)庫的性能完全保護的4個項目
  2. 提高Oracle SQL的執(zhí)行效率的3個方案
  3. Oracle 10g中的hints調(diào)整機制詳解
  4. Oracle存儲過程定時執(zhí)行2種方法
  5. Oracle rownum用法的歸納
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-05-07 12:53:50

Oracle提高SQL

2010-04-29 15:43:17

2010-09-07 10:26:37

SQL語句

2011-03-21 15:51:27

SQL執(zhí)行效率

2020-06-23 09:52:31

運營效率首席信息官IT預(yù)算

2010-10-27 14:15:44

Oracle數(shù)據(jù)庫效率

2010-04-29 12:46:42

Oracle SQL

2024-04-24 10:47:20

物聯(lián)網(wǎng)智能建筑

2023-07-06 17:00:44

服務(wù)器

2019-12-12 15:07:44

虛擬機性能效率

2010-07-19 10:08:56

SQL Server

2022-03-14 18:37:38

IT效率首席信息官IT領(lǐng)導(dǎo)者

2024-08-08 08:25:16

2012-05-21 13:57:47

數(shù)據(jù)中心電源效率

2010-04-13 15:14:31

Oracle優(yōu)化

2021-09-07 07:53:43

Console函數(shù)DOM

2010-03-31 15:03:54

Oracle執(zhí)行

2010-05-07 18:21:42

Oracle提高SQL

2010-10-27 15:26:42

Oracle執(zhí)行計劃

2016-11-01 11:11:54

數(shù)據(jù)中心大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號