• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    數據庫訪問方法和裝置制造方法及圖紙

    技術編號:15690925 閱讀:100 留言:0更新日期:2017-06-24 03:42
    本申請提供一種數據庫訪問方法和裝置。所述方法包括:為與數據庫訪問請求相關的謂詞確定當前執行順序;在基于所述當前執行順序執行所述謂詞的過程中,根據預設的采樣周期采集各謂詞的執行結果參數;根據所述執行結果參數判斷所述謂詞是否滿足順序更新條件;當所述謂詞滿足順序更新條件時,基于采集得到的執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執行根據預設的采樣周期采集各謂詞的執行結果參數的過程。本申請可以根據真實的執行總代價動態調整謂詞的執行順序,自適應數據分布的變化,使得謂詞在整個執行的過程中,始終保持執行總代價最低,提高數據訪問的效率,節省系統的處理資源。

    Database access method and device

    The present application provides a database access method and apparatus. The method includes: with database access request the relevant predicates to determine the current execution order; the order of execution in the current process of executing the predicate based on the sampling period, according to the results of the implementation of the acquisition of predicate inputs; according to the execution results of the parameters to judge whether a predicate satisfies the sequential update when conditions; the predicate update satisfies the sequential condition, based on the obtained results of the implementation of the parameter updating the current predicate execution order, and in the process of the execution order of the execution of the predicate based on the process, continue to implement according to the sampling period of each predicate acquisition results of the implementation of the preset parameters. This application can be executed according to the total cost of the dynamic adjustment of execution order predicate true, adaptive data distribution, the predicate in the whole process of the implementation of the implementation of the minimum cost, maintain and improve the efficiency of data access, save resource processing system.

    【技術實現步驟摘要】
    數據庫訪問方法和裝置
    本申請涉及數據庫
    ,尤其涉及一種數據庫訪問方法和裝置。
    技術介紹
    SQL(StructuredQueryLanguage,結構化查詢語言)謂詞通常是指where分句中的條件表達式,SQL謂詞通過返回真或假的值判定一行數據是否需要返回給用戶。在處理一個數據庫訪問請求時,通常需要執行多個謂詞。相關技術中,各數據庫通常會預定義有謂詞的分類,并依據預設的分類順序依次執行各類謂詞。比如:在IBM數據庫中,可以將謂詞分為stage1和stage2兩類,在執行時,首先執行stage1謂詞,然后再執行stage2謂詞。而針對某一類中的多個謂詞,可以按照用戶定義的順序(where條件中出現的先后順序)先后執行。然而,在這樣的實現方案中,謂詞的執行順序依賴數據庫預定義的規則,對執行算子本身的代價(比如:執行耗時等)并不敏感,在一些情況下無法達到代價最低的執行順序。另一方面,謂詞的執行順序還會依賴用戶的輸入順序,當用戶想要修改謂詞的執行順序時,需要修改訪問請求本身,技術門檻高。此外,謂詞的執行順序一旦確定,在執行的過程中無法改變,當數據庫中存儲的數據分布發生變化或數據傾斜時,不能確保謂詞的執行代價始終較低。
    技術實現思路
    有鑒于此,本申請提供一種數據庫訪問方法和裝置。具體地,本申請是通過如下技術方案實現的:一種數據庫訪問方法,所述方法包括:為與數據庫訪問請求相關的謂詞確定當前執行順序;在基于所述當前執行順序執行所述謂詞的過程中,根據預設的采樣周期采集各謂詞的執行結果參數;根據所述執行結果參數判斷所述謂詞是否滿足順序更新條件;當所述謂詞滿足順序更新條件時,基于采集得到的執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執行根據預設的采樣周期采集各謂詞的執行結果參數的過程。一種數據庫訪問方法,所述方法包括:為與數據庫訪問請求相關的謂詞確定當前執行順序;在基于所述當前執行順序執行所述謂詞的過程中,根據預設的更新周期采集各謂詞的執行結果參數;基于采集到的所述執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執行根據預設的采樣周期采集各謂詞的執行結果參數的過程。一種數據庫訪問裝置,所述裝置包括:第一確定單元,為與數據庫訪問請求相關的謂詞確定當前執行順序;第一采樣單元,在基于所述當前執行順序執行所述謂詞的過程中,根據預設的采樣周期采集各謂詞的執行結果參數;更新判斷單元,根據所述執行結果參數判斷所述謂詞是否滿足順序更新條件;第一更新單元,當所述謂詞滿足順序更新條件時,基于采集得到的執行結果參數更新所述謂詞的當前執行順序,并通知所述第一采樣單元處理。一種數據庫訪問裝置,所述裝置包括:第二確定單元,為與數據庫訪問請求相關的謂詞確定當前執行順序;第二采樣單元,在基于所述當前執行順序執行所述謂詞的過程中,根據預設的更新周期采集各謂詞的執行結果參數;第二更新單元,基于采集到的所述執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執行根據預設的采樣周期采集各謂詞的執行結果參數的過程。由以上描述可以看出,本申請在基于所述當前執行順序執行所述謂詞的過程中,可以周期性地采集各謂詞在實際執行時的執行結果參數,并在基于采集到的執行結果參數確定所述謂詞滿足順序更新條件時,更新謂詞的當前執行順序,從而可以根據真實的執行總代價動態調整謂詞的執行順序,自適應數據分布的變化,使得謂詞在整個執行的過程中,始終保持執行總代價最低,提高數據訪問的效率,節省系統的處理資源。附圖說明圖1是本申請一示例性實施例示出的一種數據庫訪問方法的流程圖。圖2是本申請一示例性實施例示出的一種根據執行結果參數判斷各謂詞是否滿足順序更新條件的流程圖。圖3是本申請一示例性實施例示出的另一種數據庫訪問方法的流程圖。圖4是本申請一示例性實施例示出的一種用于數據庫訪問裝置的一結構框圖。圖5是本申請一示例性實施例示出的一種數據庫訪問裝置的框圖。圖6是本申請一示例性實施例示出的另一種數據庫訪問裝置的框圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。圖1是本申請一示例性實施例示出的一種數據庫訪問方法的流程圖。請參考圖1,所述數據庫訪問方法可以應用在運行有數據庫服務端程序的服務器中,包括有以下步驟:步驟101,為與數據庫訪問請求相關的謂詞確定當前執行順序。在本實施例中,一個數據庫訪問請求通常對應有多個SQL謂詞(在本申請后續的描述中,簡稱謂詞)。在本步驟中,在接收到數據庫訪問請求后,可以先確定所述數據庫訪問請求對應的多個謂詞,然后可以根據各謂詞缺省的執行結果確定當前執行順序,也就是確定各謂詞的初始執行順序。其中,所述執行結果通常包括兩個參考維度:選擇率和代價。其中,所述選擇率為執行對應謂詞后返回執行結果參數是真的比率,可以理解的是,某個謂詞的選擇率越低說明該謂詞的過濾性越強。所述代價通常為對應謂詞的執行耗時等。在本實施例中,在確定各謂詞的初始執行順序時,可以依據合取范式以及析取范式確定所述初始執行順序。舉例來說,假設所述數據庫訪問請求對應有n個謂詞,分別為P1,P2,…,Pn,這N個謂詞的選擇率分別為F1,F2,…,Fn,代價分別為C1,C2,…,Cn。則可以將合取范式P1andP2and…andPn的執行總代價的計算公式設置為:N×(C1+F1×C2+F1×F2×C3+…+F1×F2×…×Fn-1×Cn)將析取范式的執行總代價的計算公式設置為:N×(C1+(1-F1)×C2+(1-F1)×(1-F2)×C3+…+(1-F1)×(1-F2)×…×(1-Fn-1)×Cn)上述公式中,各謂詞的缺省代價C通常為預設的代價,各謂詞的缺省選擇率F通常是基于系統針對不同謂詞的全局統計值(NDV或直方圖)得到。在本步驟中,可以遍歷各謂詞的所有可能執行順序,然后根據上述公式,確定一個執行總代價最小的執行順序,作為初始執行順序。步驟102,在基于所述當前執行順序執行所述謂詞的過程中,根據預設的采樣周期采集各謂詞的執行結果參數。在本實施例中,在確定各謂詞的當前執行順序后,可以基于所述當前執行順序依次執行所述謂詞本文檔來自技高網...
    數據庫訪問方法和裝置

    【技術保護點】
    一種數據庫訪問方法,其特征在于,所述方法包括:為與數據庫訪問請求相關的謂詞確定當前執行順序;在基于所述當前執行順序執行所述謂詞的過程中,根據預設的采樣周期采集各謂詞的執行結果參數;根據所述執行結果參數判斷所述謂詞是否滿足順序更新條件;當所述謂詞滿足順序更新條件時,基于采集得到的執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執行根據預設的采樣周期采集各謂詞的執行結果參數的過程。

    【技術特征摘要】
    1.一種數據庫訪問方法,其特征在于,所述方法包括:為與數據庫訪問請求相關的謂詞確定當前執行順序;在基于所述當前執行順序執行所述謂詞的過程中,根據預設的采樣周期采集各謂詞的執行結果參數;根據所述執行結果參數判斷所述謂詞是否滿足順序更新條件;當所述謂詞滿足順序更新條件時,基于采集得到的執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執行根據預設的采樣周期采集各謂詞的執行結果參數的過程。2.根據權利要求1所述的方法,其特征在于,所述根據所述執行結果參數判斷所述謂詞是否滿足順序更新條件,包括:根據采集到的所述執行結果參數計算對應采樣周期各謂詞的執行結果樣本;針對每個謂詞,計算連續N個采樣周期的執行結果樣本的均值作為參考執行結果,N為大于1的自然數;當所述參考執行結果與緩存的執行結果的變化超過預設的閾值時,確定所述謂詞滿足順序更新條件;其中,所述緩存的執行結果為確定所述謂詞當前執行順序的執行結果;所述方法還包括:在基于采集得到的執行結果參數更新所述謂詞的當前執行順序后,用所述采集得到的執行結果參數確定執行結果后更新已緩存的執行結果。3.根據權利要求2所述的方法,其特征在于,所述執行結果參數包括兩個維度:執行代價和取值真假;所述執行結果樣本和所述參考執行結果均包括兩個參考維度:代價和選擇率,其中,所述選擇率由所述取值真假確定;所述當所述參考執行結果與緩存的執行結果的變化超過預設的閾值時,確定所述謂詞滿足順序更新條件,包括:當所述參考執行結果與緩存的執行結果在一個或者多個參考維度的變化超過預設的閾值時,確定所述謂詞滿足順序更新條件。4.根據權利要求3所述的方法,其特征在于,所述根據采集到的所述執行結果參數計算對應采樣周期各謂詞的執行結果樣本,包括:當所述執行結果參數為取值真假時,根據采集到的取值真假生成真值表,所述真值表中記錄有各謂詞在各采樣行執行后的取值;根據所述真值表計算對應采樣周期各謂詞的選擇率;當所述執行結果參數為執行代價時,計算各謂詞在各采樣行的執行代價均值,作為對應采樣周期各謂詞的代價。5.根據權利要求2所述的方法,其特征在于,所述為與數據庫訪問請求相關的謂詞確定當前執行順序,包括:在接收到數據庫訪問請求后,根據各謂詞缺省的執行結果確定當前執行順序;緩存所述缺省的執行結果。6.根據權利要求1所述的方法,其特征在于,所述根據預設的采樣周期采集各謂詞的執行結果參數,包括:在到達預設的采樣周期時,針對所有訪問行,根據預設的采樣比例確定是否對各謂詞在所述訪問行的執行結果參數進行采集。7.一種數據庫訪問方法,其特征在于,所述方法包括:為與數據庫訪問請求相關的謂詞確定當前執行順序;在基于所述當前執行順序執行所述謂詞的過程中,根據預設的更新周期采集各謂詞的執行結果參數;基于采集到的所述執行結果參數更新所述謂詞的當前執行順序,并在基于所述當前執行順序執行所述謂詞的過程中,繼續執...

    【專利技術屬性】
    技術研發人員:陳萌萌
    申請(專利權)人:阿里巴巴集團控股有限公司
    類型:發明
    國別省市:開曼群島,KY

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲乱亚洲乱妇无码麻豆| 久久无码AV中文出轨人妻| 无码少妇一区二区| 免费无码中文字幕A级毛片| 好爽毛片一区二区三区四无码三飞 | 性虎精品无码AV导航| 色欲香天天综合网无码| 久久久无码精品亚洲日韩蜜桃| 无码中文在线二区免费| 无码人妻精品一区二区三区久久| 永久免费无码日韩视频| AV无码人妻中文字幕| 久久午夜夜伦鲁鲁片无码免费| 国产精品无码久久av不卡 | 亚洲中文字幕无码永久在线 | 国产日韩精品中文字无码| 精品久久久久久久无码久中文字幕 | 亚洲国产精品无码中文字| 免费无码A片一区二三区| 人妻中文字系列无码专区| 人妻丰满熟妇aⅴ无码| 亚洲?V无码成人精品区日韩| 精品无码国产一区二区三区51安| 麻豆国产精品无码视频| 熟妇人妻无码中文字幕| 亚洲午夜福利精品无码| 国产成人综合日韩精品无码| 午夜爽喷水无码成人18禁三级| 免费无码中文字幕A级毛片| 日韩精品人妻系列无码专区| 日韩精品人妻系列无码专区免费 | 无码137片内射在线影院| 亚洲精品无码专区在线在线播放| 中文字幕久无码免费久久| 久久无码AV中文出轨人妻| 亚洲人成人无码网www电影首页| 中文无码喷潮在线播放| 亚洲成av人片在线观看天堂无码| 免费无码专区毛片高潮喷水| 亚洲最大av无码网址| 日韩精品无码免费专区午夜 |