婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle Arraysize設置對于邏輯讀的影響實例分析

Oracle Arraysize設置對于邏輯讀的影響實例分析

熱門標簽:外呼電話系統用卡嗎 騰訊地圖標注要費用嗎 廣東營銷智能外呼系統商家 N個你智能電銷機器人 車瑪仕極限運動場所地圖標注 七日殺a19.5全地圖標注 高德地圖標注公司名字大全 地圖標注怎么保存 電渠外呼系統

當執行一條SQL查詢的時候,為了獲得滿足的數據,查詢在這個過程中完成解析,綁定,執行和提取數據等一系列步驟,這些步驟都是單獨執行的,滿足條件的數據行必須由數據庫返回給應用;對于任何大小的結果集,需要返回的數據行很可能不是在一次往返調用過程中傳遞給應用的!

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

關于提取操作的機制,一次FETCH調用將會訪問緩沖區緩存中的一個或多個數據塊,每次訪問一個數據塊的時候,Oracle會在該塊中取出數據行然后在一次回路中返回給客戶端,這里對于一次返回的行數便是Arraysize(列大小),Arraysize表明了一次提取操作在網絡回路中傳輸的可能的數據行數。

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

-- 查看當前的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

-- 設置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

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

1.邏輯讀次數大幅減小,由7675減至3618。
2.網絡往返次數由之前的4832次下降到只需要1451次。

需要注意的是這些改變都是與SQL語句本身無關的,Arraysize大小需要通過編程實現,本例中使用SQL*Plus環境中的SET ARRAYSIZE命令,如果是Java應用,可以通過設置Connection.SetdefaultRowPrefetch(n)來實現。

您可能感興趣的文章:
  • oracle中通配符和運算符的使用方法介紹
  • oracle邏輯結構分析
  • Oracle查看邏輯讀、物理讀資源占用排行的SQL語句
  • Oracle數據庫邏輯備份的SH文件
  • oracle邏輯運算符與其優先級簡介

標簽:大興安嶺 遼寧 長沙 玉樹 贛州 來賓 蘇州 棗莊

巨人網絡通訊聲明:本文標題《Oracle Arraysize設置對于邏輯讀的影響實例分析》,本文關鍵詞  Oracle,Arraysize,設置,對于,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle Arraysize設置對于邏輯讀的影響實例分析》相關的同類信息!
  • 本頁收集關于Oracle Arraysize設置對于邏輯讀的影響實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 衢州市| 林州市| 涟源市| 江山市| 兴海县| 梁平县| 桂阳县| 贡山| 沅陵县| 盐山县| 宜兰县| 如皋市| 宿州市| 乌恰县| 布拖县| 保靖县| 兴业县| 元阳县| 上栗县| 元氏县| 田阳县| 平山县| 南雄市| 冕宁县| 陕西省| 广南县| 荥阳市| 桂平市| 肥乡县| 九龙坡区| 宜章县| 北流市| 高尔夫| 高州市| 黔江区| 河曲县| 德保县| 米易县| 洱源县| 奉贤区| 遵化市|