[發(fā)明專利]一種外部提示表達(dá)、生成及應(yīng)用自動(dòng)一體化方法及裝置在審
| 申請(qǐng)?zhí)枺?/td> | 202211524907.9 | 申請(qǐng)日: | 2022-12-01 |
| 公開(公告)號(hào): | CN115794826A | 公開(公告)日: | 2023-03-14 |
| 發(fā)明(設(shè)計(jì))人: | 裴春峰;任鯤鵬;王永炎;蔣清春;鄒彤 | 申請(qǐng)(專利權(quán))人: | 上海沄熹科技有限公司 |
| 主分類號(hào): | G06F16/22 | 分類號(hào): | G06F16/22;G06F16/2453;G06F16/27;G06F16/28 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 姜麗潔 |
| 地址: | 200120 上海市浦東新區(qū)中國(上海)自由貿(mào)*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 外部 提示 表達(dá) 生成 應(yīng)用 自動(dòng) 一體化 方法 裝置 | ||
本發(fā)明涉及數(shù)據(jù)庫查詢優(yōu)化領(lǐng)域,具體提供了一種外部提示表達(dá)、生成及應(yīng)用自動(dòng)一體化方法,基于樹或者森林?jǐn)?shù)據(jù)結(jié)構(gòu)的分布式數(shù)據(jù)庫計(jì)劃提示,使用Google protobuf格式來表示新的外部提示結(jié)構(gòu),protobuf作為通用的序列化格式,包括的基本提示包括基數(shù)提示、掃描提示、連接方法提示和連接順序提示。與現(xiàn)有技術(shù)相比,本發(fā)明為計(jì)劃提示作為一種系統(tǒng)手段提升應(yīng)用負(fù)載提供了一種可能性。減少了系統(tǒng)人工的干預(yù),提高了計(jì)劃提示應(yīng)用的效率。數(shù)據(jù)庫系統(tǒng)自動(dòng)修復(fù)查詢性能問題,自動(dòng)改善用戶負(fù)載的運(yùn)行效率提供了系統(tǒng)性的解決方案。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫查詢優(yōu)化領(lǐng)域,具體提供一種外部提示表達(dá)、生成及應(yīng)用自動(dòng)一體化方法及裝置。
背景技術(shù)
在關(guān)系數(shù)據(jù)庫中,提示是對(duì)查詢優(yōu)化器的一種特殊指令。在編寫SQL時(shí),用戶可能知道更多優(yōu)化器本身未知的數(shù)據(jù)信息。提示用戶能夠做出通常由優(yōu)化器做出的決策,有時(shí)會(huì)導(dǎo)致優(yōu)化器選擇它認(rèn)為成本更高但實(shí)際上性能更好的計(jì)劃。
在測(cè)試或開發(fā)環(huán)境中,提示對(duì)于測(cè)試特定計(jì)劃路徑的性能很有用。例如,用戶可能想要檢查某個(gè)索引是否對(duì)某些查詢更有效。在這種情況下,用戶可以使用提示來指定這個(gè)特定的索引,優(yōu)化器根據(jù)提示來創(chuàng)建相應(yīng)的執(zhí)行計(jì)劃,用戶可以根據(jù)執(zhí)行的實(shí)際結(jié)果來評(píng)估該索引的有效性。
目前,大多數(shù)關(guān)系數(shù)據(jù)庫通過允許用戶使用特殊語法修改SQL文本來支持提示。例如下面的SQL語句:
SELECT/*+FIRST_ROWS(100)*/*FROM employees;
上述SQL語句的注釋中指定的提示是Oracle數(shù)據(jù)庫的計(jì)劃提示采納的格式,它指示優(yōu)化器以最低成本從雇員表中選擇產(chǎn)生前100行的查詢計(jì)劃。這種以注釋的方式提供計(jì)劃提示的方法是目前常見的一種提示表達(dá)方法。
除此之外,還有其他指定計(jì)劃提示的方式,大部分與上面類似,通過修改現(xiàn)有的SQL文本的形式。修改SQL文本的最大缺點(diǎn)之一是,所表達(dá)的提示是一個(gè)線性的片段化的表達(dá)方式,不能滿足日益增加的分析型SQL和相應(yīng)的執(zhí)行計(jì)劃的結(jié)構(gòu)復(fù)雜性;另外,大部分SQL查詢是由應(yīng)用程序動(dòng)態(tài)生成的,生成之后直接發(fā)給數(shù)據(jù)庫服務(wù)器端來計(jì)算結(jié)果。如果用戶想通過修改SQL語句來使用提示影響查詢計(jì)劃,可能需要中斷應(yīng)用程序并手動(dòng)修改,或者需要修改應(yīng)用程序來提供增加提示的手段和界面,這兩種方法都不是很方便。另一方面,由于SQL語言是一種聲明性語言,它并沒有指定如何處理查詢,有時(shí)很難在SQL文本中添加某種類型的提示,尤其是相對(duì)比較復(fù)雜的提示。而且,目前已有的計(jì)劃提示功能大都需要用戶自己手動(dòng)添加,從提示的生成到應(yīng)用,只有很有經(jīng)驗(yàn)的DBA或者開發(fā)者才能很好的利用。對(duì)于相對(duì)復(fù)雜的計(jì)劃提示,用戶本身很難判斷所提供的提示之間是不是有沖突,很大程度上需要依賴數(shù)據(jù)庫優(yōu)化器來作沖突檢測(cè),這種方法往往會(huì)影響系統(tǒng)正常的運(yùn)行。另外,傳統(tǒng)的計(jì)劃提示方法對(duì)用戶要求較高,用戶很難在缺乏應(yīng)用負(fù)載洞察(例如SQL語句在應(yīng)用負(fù)載中的重要程度、健康度等,識(shí)別需要進(jìn)行計(jì)劃提示的SQL;用戶人力有限,難以對(duì)全部查詢逐一考慮計(jì)劃提示,并檢查提示的有效性;并且由于工作負(fù)載的持續(xù)變化,導(dǎo)致系統(tǒng)復(fù)雜性升高,既有的計(jì)劃提示可能不再適用,對(duì)于用戶來說,很難系統(tǒng)性的進(jìn)行維護(hù)。
綜上所述,目前存在的數(shù)據(jù)庫提示,由于沒有提示生成,應(yīng)用全自動(dòng)的一體化機(jī)制,計(jì)劃提示很大程度上都只是DBA或者開發(fā)者的一個(gè)小工具而已,很難在數(shù)據(jù)庫應(yīng)用中發(fā)揮更大的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明是針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種實(shí)用性強(qiáng)的外部提示表達(dá)、生成及應(yīng)用自動(dòng)一體化方法。
本發(fā)明進(jìn)一步的技術(shù)任務(wù)是提供一種設(shè)計(jì)合理,安全適用的外部提示表達(dá)、生成及應(yīng)用自動(dòng)一體化裝置。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海沄熹科技有限公司,未經(jīng)上海沄熹科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211524907.9/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種提高牦牛繁殖力的方法
- 下一篇:換卷裝置及換卷方法
- RNAi轉(zhuǎn)染子的改良選擇方法
- 雙控雙調(diào)節(jié)原核表達(dá)載體系統(tǒng)及其構(gòu)建方法和用途
- 表達(dá)載體組織、新的生產(chǎn)用細(xì)胞產(chǎn)生方法及其在重組產(chǎn)生多肽中的用途
- 大腸桿菌表達(dá)系統(tǒng)表達(dá)人淀粉樣Aeta蛋白及純化的方法
- 一種智能表達(dá)式解析平臺(tái)及方法
- 一種復(fù)合表達(dá)式解析方法及系統(tǒng)
- 一種制備N-乙酰氨基半乳糖轉(zhuǎn)移酶的方法
- 定制生成表達(dá)式方法及裝置
- 文本的表達(dá)方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基因表達(dá)調(diào)節(jié)DNA,表達(dá)盒,表達(dá)載體





