最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle Arraysize設(shè)置對(duì)于邏輯讀的影響實(shí)例分析

 更新時(shí)間:2014年07月17日 11:20:59   投稿:junjie  
這篇文章主要介紹了Oracle Arraysize設(shè)置對(duì)于邏輯讀的影響實(shí)例分析,通過(guò)設(shè)置Arraysize大幅減少了邏輯讀的次數(shù)和網(wǎng)絡(luò)往返次數(shù),需要的朋友可以參考下

當(dāng)執(zhí)行一條SQL查詢的時(shí)候,為了獲得滿足的數(shù)據(jù),查詢?cè)谶@個(gè)過(guò)程中完成解析,綁定,執(zhí)行和提取數(shù)據(jù)等一系列步驟,這些步驟都是單獨(dú)執(zhí)行的,滿足條件的數(shù)據(jù)行必須由數(shù)據(jù)庫(kù)返回給應(yīng)用;對(duì)于任何大小的結(jié)果集,需要返回的數(shù)據(jù)行很可能不是在一次往返調(diào)用過(guò)程中傳遞給應(yīng)用的!

每次調(diào)用過(guò)程中,數(shù)據(jù)庫(kù)與客戶端之間的往返回路數(shù)將一定層次上影響總的響應(yīng)時(shí)間,其中除了提取數(shù)據(jù)(FETCH)步驟,其余步驟(解析,綁定,執(zhí)行)都只執(zhí)行一次,這也是必要的,Oracle需要獲得滿足查詢條件的所有數(shù)據(jù)結(jié)果從而執(zhí)行多次提取操作。

關(guān)于提取操作的機(jī)制,一次FETCH調(diào)用將會(huì)訪問(wèn)緩沖區(qū)緩存中的一個(gè)或多個(gè)數(shù)據(jù)塊,每次訪問(wèn)一個(gè)數(shù)據(jù)塊的時(shí)候,Oracle會(huì)在該塊中取出數(shù)據(jù)行然后在一次回路中返回給客戶端,這里對(duì)于一次返回的行數(shù)便是Arraysize(列大小),Arraysize表明了一次提取操作在網(wǎng)絡(luò)回路中傳輸?shù)目赡艿臄?shù)據(jù)行數(shù)。

分析Arraysize的機(jī)制我們可以得知Arraysize對(duì)于邏輯讀的一個(gè)基本的影響,如果在應(yīng)用中相應(yīng)的提高Arraysize的大小,相比之前的設(shè)置,每次從數(shù)據(jù)塊中獲取的行數(shù)將對(duì)應(yīng)得到提高,相同行數(shù)情況下,訪問(wèn)數(shù)據(jù)塊的次數(shù)自然減小,邏輯讀也就相應(yīng)的降低;實(shí)際情況也是如此。

-- 查看當(dāng)前的Arraysize
SQL> show arraysize
arraysize 15

SQL> set autotrace traceonly statistics
SQL> select * from dba_objects;

72457 rows selected.

Statistics
----------------------------------------------------------
     0 recursive calls
     0 db block gets
    7675 consistent gets
     5 physical reads
     0 redo size
  3463453 bytes sent via SQL*Net to client
   53549 bytes received via SQL*Net from client
    4832 SQL*Net roundtrips to/from client
     0 sorts (memory)
     0 sorts (disk)
   72457 rows processed

-- 設(shè)置Arraysize為50
SQL> set arraysize 50
SQL> /

72457 rows selected.

Statistics
----------------------------------------------------------
     15 recursive calls
     0 db block gets
    3618 consistent gets
     0 physical reads
     0 redo size
  3034066 bytes sent via SQL*Net to client
   16358 bytes received via SQL*Net from client
    1451 SQL*Net roundtrips to/from client
     0 sorts (memory)
     0 sorts (disk)
   72457 rows processed

上面的測(cè)試我以SQL*Plus為例,選取了對(duì)dba_objects表訪問(wèn)的查詢,SQL查詢的結(jié)果集是相同的,這時(shí)將Arraysize的值從默認(rèn)的15提高至50,就看到了非常明顯的變化:

1.邏輯讀次數(shù)大幅減小,由7675減至3618。
2.網(wǎng)絡(luò)往返次數(shù)由之前的4832次下降到只需要1451次。

需要注意的是這些改變都是與SQL語(yǔ)句本身無(wú)關(guān)的,Arraysize大小需要通過(guò)編程實(shí)現(xiàn),本例中使用SQL*Plus環(huán)境中的SET ARRAYSIZE命令,如果是Java應(yīng)用,可以通過(guò)設(shè)置Connection.SetdefaultRowPrefetch(n)來(lái)實(shí)現(xiàn)。

相關(guān)文章

  • 關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問(wèn)題

    關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問(wèn)題

    故障現(xiàn)象:臨時(shí)表空間不足的問(wèn)題已經(jīng)報(bào)錯(cuò)過(guò)3次,客戶也煩了,前兩次都是同事添加5G的數(shù)據(jù)文件,目前已經(jīng)達(dá)到40G,占用臨時(shí)表空間主要是distinct 和group by 以及Union all 表數(shù)據(jù)量在200W左右,也不至于把40G的臨時(shí)表空間撐爆。
    2013-04-04
  • Oracle Index Partition索引分區(qū)的注意事項(xiàng)

    Oracle Index Partition索引分區(qū)的注意事項(xiàng)

    Oracle索引分區(qū)的管理是一個(gè)復(fù)雜而重要的過(guò)程,需要數(shù)據(jù)庫(kù)管理員具備豐富的經(jīng)驗(yàn)和專(zhuān)業(yè)知識(shí),通過(guò)合理的索引分區(qū)策略、定期的維護(hù)和優(yōu)化以及注意事項(xiàng)的遵循,可以確保數(shù)據(jù)庫(kù)的性能和穩(wěn)定性,這篇文章主要介紹了Oracle Index Partition索引分區(qū)的管理,需要的朋友可以參考下
    2024-08-08
  • 新手學(xué)oracle常見(jiàn)疑問(wèn)

    新手學(xué)oracle常見(jiàn)疑問(wèn)

    這篇文章主要介紹了新手學(xué)oracle常見(jiàn)的疑問(wèn),第一,索引范圍掃描,第二,索引唯一掃描,需要的朋友可以參考下
    2015-07-07
  • Oracle密碼文件的使用和維護(hù)

    Oracle密碼文件的使用和維護(hù)

    Oracle密碼文件的使用和維護(hù)...
    2007-03-03
  • Oracle不同數(shù)據(jù)庫(kù)間對(duì)比分析腳本

    Oracle不同數(shù)據(jù)庫(kù)間對(duì)比分析腳本

    Oracle不同數(shù)據(jù)庫(kù)間對(duì)比分析腳本...
    2007-03-03
  • oracle中exp,imp的使用詳解

    oracle中exp,imp的使用詳解

    這篇文章主要介紹了oracle中exp,imp的使用詳解,需要的朋友可以參考下
    2015-07-07
  • PLSQL Developer連接Oracle11g 64位數(shù)據(jù)庫(kù)配置詳解(圖文)

    PLSQL Developer連接Oracle11g 64位數(shù)據(jù)庫(kù)配置詳解(圖文)

    這篇文章主要介紹了PLSQL Developer連接Oracle11g 64位數(shù)據(jù)庫(kù)配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Oracle性能究極優(yōu)化(Oracle 性能優(yōu)化)

    Oracle性能究極優(yōu)化(Oracle 性能優(yōu)化)

    Linux Journal 發(fā)表了一篇優(yōu)化 Oracle 數(shù)據(jù)庫(kù)的文章,感覺(jué)十分的有用。簡(jiǎn)要介紹其摘要和大家共同分享 Linux 在企業(yè)級(jí)數(shù)據(jù)庫(kù)上應(yīng)用
    2007-03-03
  • Oracle基本PLSQL的使用實(shí)例詳解

    Oracle基本PLSQL的使用實(shí)例詳解

    這篇文章主要介紹了Oracle基本PLSQL的使用實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Oracle存儲(chǔ)過(guò)程語(yǔ)法代碼示例詳解

    Oracle存儲(chǔ)過(guò)程語(yǔ)法代碼示例詳解

    本文講解Oracle存儲(chǔ)過(guò)程語(yǔ)法,包括總體結(jié)構(gòu)、存儲(chǔ)過(guò)程聲明、參數(shù)定義、變量聲明、游標(biāo)聲明、行數(shù)據(jù)類(lèi)型聲明、變量賦值、條件判斷、WHILE循環(huán)、FOR循環(huán)、游標(biāo)使用、異常捕捉、異常處理、存儲(chǔ)過(guò)程調(diào)用、存儲(chǔ)過(guò)程代碼示例調(diào)用代碼示例、調(diào)用結(jié)果展示,感興趣的朋友一起看看吧
    2025-04-04

最新評(píng)論

沭阳县| 道孚县| 昌江| 虎林市| 板桥市| 府谷县| 永清县| 香港| 庐江县| 宁津县| 广元市| 金华市| 定襄县| 青神县| 会昌县| 瓦房店市| 黄骅市| 黄梅县| 师宗县| 宁都县| 琼中| 永康市| 项城市| 泸水县| 都昌县| 阜康市| 汝阳县| 上林县| 洛隆县| 平凉市| 明光市| 宜州市| 天峨县| 大竹县| 扶风县| 梁河县| 寻甸| 杭州市| 本溪市| 镇赉县| 镶黄旗|