• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    淺談軟件測試開發技術Oracle中的三種Join方法

    發布: 2009-9-11 10:43 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 34次 | 進入軟件測試論壇討論

    領測軟件測試網

    淺談軟件測試開發技術Oracle中的三種Join方法 數據庫開發

    關鍵字:Oracle 數據庫

      基本概念

      Nested loop join:

      Outer table中的每一行與inner table中的相應記錄join,類似一個嵌套的循環。

      Sort merge join:

      將兩個表排序,然后再進行join。

      Hash join:

      將兩個表中較小的一個在內存中構造一個Hash 表(對Join Key),掃描另一個表,同樣對Join Key進行Hash后探測是否可以join,找出與之匹配的行。

      一張小表被hash在內存中。因為數據量小,所以這張小表的大多數數據已經駐入在內存中,剩下的少量數據被放置在臨時表空間中;

      每讀取大表的一條記錄,就和小表中內存中的數據進行比較,如果符合,則立即輸出數據(也就是說沒有讀取臨時表空間中的小表的數據)。而如果大表的數據與小表中臨時表空間的數據相符合,則不直接輸出,而是也被存儲臨時表空間中。

      當大表的所有數據都讀取完畢,將臨時表空間中的數據以其輸出。如果小表的數據量足夠小(小于hash area size),那所有數據就都在內存中了,可以避免對臨時表空間的讀寫。

      如果是并行環境下,前面中的第2步就變成如下了:每讀取一條大表的記錄,和內存中小表的數據比較,如果符合先做join,而不直接輸出,直到整張大表數據讀取完畢。如果內存足夠,Join好的數據就保存在內存中。否則,就保存在臨時表空間中。

      適用范圍

      Nested loop join:

      適用于outer table(有的地方叫Master table)的記錄集比較少(<10000)而且inner table(有的地方叫Detail table)索引選擇性較好的情況下(inner table要有index)。

      inner table被outer table驅動,outer table返回的每一行都要在inner table中檢索到與之匹配的行。當然也可以用ORDERED 提示來改變CBO默認的驅動表,使用USE_NL(table_name1 table_name2)可是強制CBO 執行嵌套循環連接。

      cost = outer access cost + (inner access cost * outer cardinality)

      Sort merge join:

      用在數據沒有索引但是已經排序的情況下。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Join oracle Oracle ORACLE 技術 開發 軟件測試

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>