[發(fā)明專利]面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法和裝置有效
| 申請?zhí)枺?/td> | 201510060935.3 | 申請日: | 2015-02-05 |
| 公開(公告)號: | CN104657447B | 公開(公告)日: | 2018-04-03 |
| 發(fā)明(設計)人: | 張欽;汪龍重 | 申請(專利權(quán))人: | 上海達夢數(shù)據(jù)庫有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京品源專利代理有限公司11332 | 代理人: | 鄧猛烈,孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 面向 數(shù)據(jù)庫 管理 系統(tǒng) 計劃 優(yōu)化 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明實施例涉及數(shù)據(jù)庫管理技術(shù),尤其涉及一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法。
背景技術(shù)
數(shù)據(jù)庫管理系統(tǒng)根據(jù)用戶輸入的SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)語句生成對應的計劃樹。計劃樹是一個由各種執(zhí)行操作符作為節(jié)點的樹狀結(jié)構(gòu),不同的數(shù)據(jù)庫管理系統(tǒng)可能包含不同的操作符,但都遵循數(shù)據(jù)庫的基本原理,一條SQL語句中所包含的視圖和子查詢塊被處理為計劃樹中的一個子樹,且這些子樹通常以同一個操作符作為根節(jié)點。計劃樹在很大程度上決定了一個數(shù)據(jù)庫管理系統(tǒng)執(zhí)行語句的效率,精簡計劃樹可以有效地提高數(shù)據(jù)庫管理系統(tǒng)的性能。
在現(xiàn)有技術(shù)中,數(shù)據(jù)庫管理系統(tǒng)在執(zhí)行與計劃樹對應的數(shù)據(jù)檢索操作時都采用了同樣的技術(shù),即流水線機制。所述流水線機制,是指系統(tǒng)每次調(diào)用一個執(zhí)行節(jié)點,就從其下的子節(jié)點獲取一條記錄或者一個空記錄而葉節(jié)點則直接對數(shù)據(jù)庫基表進行訪問操作。
現(xiàn)有技術(shù)的主要缺陷在于:在計劃樹中由若干節(jié)點構(gòu)成的子樹重復出現(xiàn)時,由于這些子樹返回的均是相同的記錄數(shù)據(jù),采用流水線機制時依舊需要逐條生成記錄并在子樹中重復地傳輸相同的記錄數(shù)據(jù),這會造成極大的資源浪費。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法和裝置,以減少相同的記錄數(shù)據(jù)的生成、處理以及在流水線中的傳輸,有效地提高數(shù)據(jù)庫管理系統(tǒng)的性能。
在第一方面,本發(fā)明實施例提供了一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法,包括:
根據(jù)計劃樹中的重復子樹,生成以TTAB節(jié)點為根節(jié)點的TTAB子樹,并獲取所述TTAB子樹中TTAB節(jié)點的依賴關(guān)系;
使用所述TTAB節(jié)點優(yōu)化所述計劃樹中的重復子樹,并建立與TTAB節(jié)點對應的TTAB鏈表;
根據(jù)所述TTAB節(jié)點的依賴關(guān)系,調(diào)整所述TTAB鏈表中TTAB節(jié)點的順序。
在第二方面,本發(fā)明實施例還提供了一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化裝置,包括:
TTAB子樹生成模塊,用于根據(jù)計劃樹中的重復子樹,生成以TTAB節(jié)點為根節(jié)點的TTAB子樹,并獲取所述TTAB子樹中TTAB節(jié)點的依賴關(guān)系;
TTAB鏈表建立模塊,用于使用所述TTAB節(jié)點優(yōu)化所述計劃樹中的重復子樹,并建立與TTAB節(jié)點對應的TTAB鏈表;
TTAB節(jié)點順序調(diào)整模塊,用于根據(jù)所述TTAB節(jié)點的依賴關(guān)系,調(diào)整所述TTAB鏈表中TTAB節(jié)點的順序。
本發(fā)明實施例通過根據(jù)計劃樹中的重復子樹,生成以TTAB節(jié)點為根節(jié)點的TTAB子樹,并獲取所述TTAB子樹中TTAB節(jié)點的依賴關(guān)系;使用所述TTAB節(jié)點優(yōu)化所述計劃樹中的重復子樹,并建立與TTAB節(jié)點對應的TTAB鏈表;根據(jù)所述TTAB節(jié)點的依賴關(guān)系,調(diào)整所述TTAB鏈表中TTAB節(jié)點的順序的技術(shù)手段,解決了現(xiàn)有的流水線機制需要逐條生成記錄并在子樹中重復地傳輸相同的記錄數(shù)據(jù),因而造成極大資源浪費的技術(shù)問題,實現(xiàn)了有效地精簡了計劃樹,避免了相同子樹的重復計算處理,提高了數(shù)據(jù)庫管理系統(tǒng)的性能的技術(shù)效果。
附圖說明
圖1是本發(fā)明第一實施例的一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法的流程圖;
圖2是本發(fā)明第一實施例的一種計劃樹的結(jié)構(gòu)示意圖;
圖3是本發(fā)明第一實施例的一種TTAB子樹的結(jié)構(gòu)示意圖;
圖4是本發(fā)明第一實施例的一種描述TTAB節(jié)點之間依賴關(guān)系的示意圖;
圖5是本發(fā)明第一實施例的一種使用TTAB節(jié)點優(yōu)化計劃樹的示意圖;
圖6是本發(fā)明第二實施例的一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法的流程圖;
圖7是本發(fā)明第二實施例的一種建立與TTAB節(jié)點對應的TTAB鏈表的實現(xiàn)示意圖;
圖8是本發(fā)明第三實施例的一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化方法的流程圖;
圖9是本發(fā)明第三實施例的一種TTAB鏈表調(diào)整順序的示意圖;
圖10是本發(fā)明第四實施例的一種面向數(shù)據(jù)庫管理系統(tǒng)的計劃樹優(yōu)化裝置的結(jié)構(gòu)圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明具體實施例作進一步的詳細描述。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
第一實施例
該專利技術(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/201510060935.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:氮摻雜石墨烯及其制備方法
- 下一篇:一種生物質(zhì)加工設備的連接裝置
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





