[發(fā)明專利]一種數(shù)據(jù)查詢方法、裝置、終端設(shè)備和存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201811338576.3 | 申請日: | 2018-11-12 |
| 公開(公告)號: | CN109508339B | 公開(公告)日: | 2020-10-09 |
| 發(fā)明(設(shè)計)人: | 朱仲穎;張欽 | 申請(專利權(quán))人: | 上海達夢數(shù)據(jù)庫有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2453;G06F16/2455 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 查詢 方法 裝置 終端設(shè)備 存儲 介質(zhì) | ||
本發(fā)明公開了一種數(shù)據(jù)查詢方法、裝置、終端設(shè)備和存儲介質(zhì)。該方法包括:獲取數(shù)據(jù)查詢語句,數(shù)據(jù)查詢語句包括至少一個子查詢語句和外層查詢表,子查詢語句包括內(nèi)層查詢表和條件子句;條件子句中的字段名與內(nèi)層查詢表沒有交集,則改寫子查詢語句中用于掃描對應(yīng)內(nèi)層查詢表的語句后,更新對應(yīng)的子查詢語句;根據(jù)更新了子查詢語句的數(shù)據(jù)查詢語句,對數(shù)據(jù)進行查詢。本發(fā)明解決了現(xiàn)有技術(shù)中在內(nèi)層查詢表中的列未參與子查詢運算時,還需對該內(nèi)層查詢表進行掃描的技術(shù)問題,減少了對內(nèi)層查詢表處理性能的消耗,從而提高了數(shù)據(jù)查詢效率。
技術(shù)領(lǐng)域
本發(fā)明實施例涉及計算機技術(shù),尤其涉及一種數(shù)據(jù)查詢方法、裝置、終端設(shè)備和存儲介質(zhì)。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)和相關(guān)行業(yè)的發(fā)展,計算機行業(yè)面臨著指數(shù)增長的海量數(shù)據(jù)和更多的數(shù)據(jù)處理需求。針對這種情況,提高數(shù)據(jù)處理性能變得尤為重要。
在數(shù)據(jù)處理過程中,子查詢可以分為相關(guān)子查詢和非相關(guān)子查詢兩種類型。目前,數(shù)據(jù)庫系統(tǒng)對相關(guān)子查詢的通用處理方法為:將父查詢(外層查詢)中的每一條記錄,根據(jù)其與子查詢(內(nèi)層查詢)相關(guān)的屬性值(也可為列)對子查詢進行處理,即父查詢執(zhí)行一行,子查詢就執(zhí)行一次。
但當(dāng)子查詢中所涉及的列全部來自于外層查詢表時,若采用通用處理方法對子查詢進行運算處理,造成對子查詢的處理效率較低,尤其是在子查詢中內(nèi)層查詢表數(shù)據(jù)量較大時,會在掃描內(nèi)層查詢表中的數(shù)據(jù)上浪費大量時間,從而大大增加了對子查詢中內(nèi)層查詢表處理性能的消耗,影響了數(shù)據(jù)查詢效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種數(shù)據(jù)查詢方法、裝置、終端設(shè)備和存儲介質(zhì),以減少對子查詢中內(nèi)層查詢表處理性能的消耗,提高了數(shù)據(jù)查詢效率。
第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)查詢方法,包括:
獲取數(shù)據(jù)查詢語句,所述數(shù)據(jù)查詢語句包括至少一個子查詢語句和外層查詢表,所述子查詢語句包括內(nèi)層查詢表和條件子句;
所述條件子句中的字段名與所述內(nèi)層查詢表沒有交集,則改寫子查詢語句中用于掃描對應(yīng)內(nèi)層查詢表的語句后,更新對應(yīng)的子查詢語句;
根據(jù)更新了子查詢語句的數(shù)據(jù)查詢語句,對數(shù)據(jù)進行查詢。
進一步的,所述改寫子查詢語句中用于掃描對應(yīng)內(nèi)層查詢表的語句后,更新對應(yīng)的子查詢語句,包括:
獲取子查詢語句中用于掃描對應(yīng)內(nèi)層查詢表的語句;
將所述用于掃描對應(yīng)內(nèi)層查詢表的語句改寫為TOP形式的語句。
進一步的,在所述獲取數(shù)據(jù)查詢語句之后,還包括:
提取所述數(shù)據(jù)查詢語句中的子查詢語句;
確定所述子查詢語句中的條件子句引用外層查詢表。
進一步的,在所述提取所述數(shù)據(jù)查詢語句中的子查詢語句之后,還包括:
對所述子查詢語句進行語法分析,確定所述子查詢語句中不存在目標子語句。
進一步的,所述外層查詢表至少為一個;所述內(nèi)層查詢表至少為一個。
進一步的,所述目標子語句包括:ROWNUM偽列、CONNECT BY子句、TOP子句、GroupBy子句和集函數(shù)。
第二方面,本發(fā)明實施例還提供了一種數(shù)據(jù)查詢裝置,該裝置包括:
獲取模塊,用于獲取數(shù)據(jù)查詢語句,所述數(shù)據(jù)查詢語句包括至少一個子查詢語句和外層查詢表,所述子查詢語句包括內(nèi)層查詢表和條件子句;
改寫模塊,用于所述條件子句中的字段名與所述內(nèi)層查詢表沒有交集,則改寫子查詢語句中用于掃描對應(yīng)內(nèi)層查詢表的語句后,更新對應(yīng)的子查詢語句;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海達夢數(shù)據(jù)庫有限公司,未經(jīng)上海達夢數(shù)據(jù)庫有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811338576.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





