[發明專利]數據庫執行哈希連接的方法以及裝置在審
| 申請號: | 202110181601.7 | 申請日: | 2021-02-10 |
| 公開(公告)號: | CN113297209A | 公開(公告)日: | 2021-08-24 |
| 發明(設計)人: | 胥平勇 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2453;G06F16/2455 |
| 代理公司: | 北京智信禾專利代理有限公司 11637 | 代理人: | 趙杰 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 執行 連接 方法 以及 裝置 | ||
本說明書實施例提供數據庫執行哈希連接的方法以及裝置,其中所述方法包括:獲取為哈希連接構建的哈希表的數據量;通過將所述哈希表的數據量與多個探測模式分別對應的表數據量范圍比較,選擇所述哈希表對應的探測模式,所述多個探測模式單次探測掃描的數據量不同;利用選擇的探測模式對哈希表執行哈希連接的探測。
技術領域
本說明書實施例涉及計算機技術領域,特別涉及數據庫執行哈希連接的方法。本說明書一個或者多個實施例同時涉及數據庫執行哈希連接的裝置,計算設備,以及計算機可讀存儲介質。
背景技術
哈希連接(hash join),是在數據庫中建立多張表之間的關系的操作,不管是傳統的關系型數據庫,還是大數據領域的數據倉庫中,特別是OLAP里,都是常見的基礎操作。哈希連接對一個表構建哈希表,掃描另一個表的數據與哈希表比對,從而探測出二者的連接。例如,一個針對訂票的商業系統,有兩張表及各自字段:訂單表(會員號,訂單時間,訂單詳情)和會員表(會員號,會員名稱,會員時間),對提交訂單的會員,將訂單表和會員表根據會員號關聯時,就是一種連接操作。
由于哈希連接是數據庫處理常見的基礎操作,如何提高哈希連接的性能是個需要解決的重要問題。
發明內容
有鑒于此,本說明書實施例提供了一種數據庫執行哈希連接的方法。本說明書一個或者多個實施例同時涉及一種數據庫執行哈希連接的裝置,一種計算設備,以及一種計算機可讀存儲介質,以解決現有技術中存在的技術缺陷。
根據本說明書實施例的第一方面,提供了一種數據庫執行哈希連接的方法,包括:獲取為哈希連接構建的哈希表的數據量;通過將所述哈希表的數據量與多個探測模式分別對應的表數據量范圍比較,選擇所述哈希表對應的探測模式,所述多個探測模式單次探測掃描的數據量不同;利用選擇的探測模式對哈希表執行哈希連接的探測。
可選地,所述多個探測模式包括:逐條探測模式及攢批探測模式。
可選地,在選擇的探測模式為逐條探測模式的情況下,所述利用選擇的探測模式對哈希表執行哈希連接的探測,包括:從驅動表獲取一條未掃描過的數據,使該條數據成為已掃描過的數據;根據所述一條數據的關聯鍵,在哈希表中查找到匹配的數據行存下來;根據查找到的數據行的行號獲取需要的列的數據;判斷所述驅動表是否存在未掃描過的數據,如果存在,返回到所述從驅動表獲取一條未掃描過的數據的步驟。
可選地,在選擇的探測模式為攢批探測模式的情況下,所述利用選擇的探測模式對哈希表執行哈希連接的探測,包括:從驅動表獲取一條未掃描過的數據,使該條數據成為已掃描過的數據;如果所述驅動表不存在未掃描過的數據,判斷是否還有存下來的行號未獲取需要的列,如果有,根據存下來的行號獲取需要的列的數據;根據所述一條數據的關聯鍵,在哈希表中查找到匹配的數據行存下來;判斷本次探測掃描數據累計的條數是否達到攢批探測模式對應的預設攢批閾值;如果否,重新進入所述從驅動表獲取一條未掃描過的數據的步驟;如果是,根據本次探測查找到的數據行的行號獲取需要的列的數據;判斷所述驅動表是否存在未掃描過的數據,如果存在,通過返回到所述從驅動表獲取一條未掃描過的數據的步驟進入下一次探測掃描。
可選地,所述方法還包括:設置多個探測模式分別對應的表數據量范圍的初值;獲取為哈希連接構建的哈希表樣本的數據量;通過將所述哈希表樣本的數據量與多個探測模式分別對應的表數據量范圍比較,選擇所述哈希表樣本對應的探測模式,所述多個探測模式單次探測掃描的數據量不同;在利用選擇的探測模式對哈希表樣本執行哈希連接的探測時,采集表示哈希連接性能的性能數據;根據采集的性能數據調整一個或多個探測模式分別對應的表數據量范圍。
可選地,所述方法還包括:在所述哈希表樣本的數據量未落入所述多個探測模式分別對應的表數據量范圍的情況下,從所述多個探測模式中隨機選擇對應的探測模式作為選擇的探測模式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110181601.7/2.html,轉載請聲明來源鉆瓜專利網。





