[發(fā)明專利]SQL子查詢的執(zhí)行方法、裝置、終端設(shè)備以及介質(zhì)在審
| 申請?zhí)枺?/td> | 202211689815.6 | 申請日: | 2022-12-27 |
| 公開(公告)號: | CN115827676A | 公開(公告)日: | 2023-03-21 |
| 發(fā)明(設(shè)計(jì))人: | 段雄;劉駿;胡哲 | 申請(專利權(quán))人: | 杭州海康威視系統(tǒng)技術(shù)有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/245 |
| 代理公司: | 深圳市世紀(jì)恒程知識產(chǎn)權(quán)代理事務(wù)所 44287 | 代理人: | 楊培權(quán) |
| 地址: | 310051 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | sql 查詢 執(zhí)行 方法 裝置 終端設(shè)備 以及 介質(zhì) | ||
本發(fā)明公開了一種SQL子查詢的執(zhí)行方法、裝置、終端設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì),大數(shù)據(jù)引擎在執(zhí)行數(shù)據(jù)處理的過程中,獲取包含子查詢的SQL語句;對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化,并在對所述SQL語句進(jìn)行邏輯轉(zhuǎn)化時保留所述子查詢以得到包含所述子查詢的邏輯過濾關(guān)系表達(dá)式;根據(jù)所述邏輯過濾關(guān)系表達(dá)式生成所述SQL語句的執(zhí)行代碼并執(zhí)行。采用本發(fā)明技術(shù)方案能夠在轉(zhuǎn)化過程中利用異構(gòu)數(shù)據(jù)源不同的特性,無需拉取大量數(shù)據(jù)進(jìn)行計(jì)算,從而有效地節(jié)省了大數(shù)據(jù)引擎執(zhí)行SQL子查詢時對于IO和CPU的占用率,使得大數(shù)據(jù)引擎在執(zhí)行SQL子查詢時有了更好的性能表現(xiàn)。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種SQL子查詢的執(zhí)行方法、裝置、終端設(shè)備以及計(jì)算機(jī)可讀存儲介質(zhì)。
背景技術(shù)
在主流大數(shù)據(jù)引擎中,針對SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)子查詢的處理基本上都是將SQL語句包含的子查詢優(yōu)化為JOI N(計(jì)算機(jī)編程術(shù)語,“加入”、“參加”、“連接”、“聯(lián)結(jié)”)形式的代碼來執(zhí)行。
然而,大數(shù)據(jù)引擎在將SQL語句中的子查詢語句轉(zhuǎn)化為J ION形式的代碼的過程中,需要拉取大量的數(shù)據(jù)來進(jìn)行計(jì)算,從而執(zhí)行引擎整體會因?yàn)槔〉臄?shù)據(jù)量大和計(jì)算量大,而導(dǎo)致IO(I nput/Output,“數(shù)據(jù)輸入”/“數(shù)據(jù)輸出”)與CPU(centra l process i ngunit,中央處理器)的性能消耗較大。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種SQL子查詢的執(zhí)行方法、裝置、終端設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì)。旨在節(jié)省大數(shù)據(jù)引擎執(zhí)行SQL子查詢時對于IO和CPU的占用率從而提升大數(shù)據(jù)引擎的性能表現(xiàn)。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種SQL子查詢的執(zhí)行方法。本發(fā)明SQL子查詢的執(zhí)行方法包括:
獲取包含子查詢的SQL語句;
對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化,并在對所述SQL語句進(jìn)行邏輯轉(zhuǎn)化時保留所述子查詢以得到包含所述子查詢的邏輯過濾關(guān)系表達(dá)式;
根據(jù)所述邏輯過濾關(guān)系表達(dá)式生成所述SQL語句的執(zhí)行代碼并執(zhí)行。
可選地,在所述對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化的步驟之前,所述方法還包括:
檢測所述SQL語句中的外部查詢與所述子查詢之間的查詢關(guān)系,其中,所述外部查詢?yōu)樗鯯QL語句中除開所述子查詢之外的查詢語句。
所述對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化的步驟,包括:
若檢測到所述查詢關(guān)系為非關(guān)聯(lián)查詢,則在對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化時保留所述子查詢以得到包含所述子查詢的邏輯過濾關(guān)系表達(dá)式。
可選地,在所述檢測所述SQL語句中的外部查詢與所述子查詢之間的查詢關(guān)系的步驟之后,所述方法還包括:
確定所述子查詢是否符合預(yù)設(shè)的快速檢索條件;
所述對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化的步驟,包括:
若檢測到所述查詢關(guān)系為非關(guān)聯(lián)查詢,且確定所述子查詢符合所述快速檢索條件,則在對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化時保留所述子查詢以得到包含所述子查詢的邏輯過濾關(guān)系表達(dá)式。
可選地,在所述檢測所述SQL語句中的外部查詢與所述子查詢之間的查詢關(guān)系的步驟之后,所述方法還包括:
確定所述子查詢是否符合預(yù)設(shè)的I O節(jié)省條件;
所述對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化的步驟,包括:
若檢測到所述查詢關(guān)系為非關(guān)聯(lián)查詢,且確定所述子查詢符合所述I O節(jié)省條件,則在對所述SQL語句進(jìn)行邏輯計(jì)劃轉(zhuǎn)化時保留所述子查詢以得到包含所述子查詢的邏輯過濾關(guān)系表達(dá)式。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州海康威視系統(tǒng)技術(shù)有限公司,未經(jīng)杭州海康威視系統(tǒng)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211689815.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 以注射方式執(zhí)行死刑的自動執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)





