两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

查詢請求的處理方法和裝置的制造方法

文檔序號:9810537閱讀:901來源:國知局
查詢請求的處理方法和裝置的制造方法
【技術(shù)領域】
[0001]本申請涉及數(shù)據(jù)處理技術(shù)領域,尤其涉及一種查詢請求的處理方法和裝置。
【背景技術(shù)】
[0002]線上應用在使用數(shù)據(jù)庫時,針對OLTP (On-Line Transact1n Processing聯(lián)機事務處理系統(tǒng))類型的應用,其查詢的結(jié)果集一般是較小的,即需要與存儲引擎進行很少次數(shù)的交互即可完成一次查詢請求,這類查詢可以稱為小查詢;但是,線上應用還存在結(jié)果集很大的查詢或未正確使用索引的查詢,后兩種查詢都需要與存儲引擎進行較多次數(shù)的交互才能完成一次查詢,這類查詢可以稱為大查詢。相關(guān)技術(shù)中,大查詢與小查詢的優(yōu)先級相同,導致數(shù)據(jù)庫存儲引擎并發(fā)控制策略下查詢的響應速度慢,查詢效率低。

【發(fā)明內(nèi)容】

[0003]本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0004]為此,本申請的一個目的在于提出一種查詢請求的處理方法,該方法可以提高存儲引擎的查詢效率。
[0005]本申請的另一個目的在于提出一種查詢請求的處理裝置。
[0006]為達到上述目的,本申請實施例提出的查詢請求的處理方法,包括:接收申請進入存儲引擎的線程,所述線程是處理當前語句的線程;確定所述線程申請進入存儲引擎后,為所述線程分配進入許可的當前次數(shù);為所述線程分配第一進入許可數(shù)值,其中,所述第一進入許可數(shù)值與所述當前次數(shù)成反比關(guān)系。
[0007]本申請實施例提出的查詢請求的處理方法,通過在有線程申請進入存儲引擎時確定所述線程申請進入存儲引擎的當前次數(shù),為所述線程分配第一進入許可數(shù)值,由于第一進入許可數(shù)值與當前次數(shù)成反比關(guān)系,因此當線程申請進入存儲引擎的次數(shù)越多,分給其的進入許可數(shù)值就越小,也就是說大查詢的優(yōu)先級將降低,實現(xiàn)自動調(diào)整查詢的優(yōu)先級,提升基于并發(fā)控制策略的查詢響應時間,提高存儲引擎的查詢效率。
[0008]為達到上述目的,本申請實施例提出的查詢請求的處理裝置,包括:接收模塊,用于接收申請進入存儲引擎的線程,所述線程是處理當前語句的線程;確定模塊,用于確定所述線程申請進入存儲引擎后,為所述線程分配進入許可的當前次數(shù);分配模塊,用于為所述線程分配第一進入許可數(shù)值,其中,所述第一進入許可數(shù)值與所述當前次數(shù)成反比關(guān)系。
[0009]本申請實施例提出的查詢請求的處理裝置,通過在有線程申請進入存儲引擎時確定所述線程申請進入存儲引擎的當前次數(shù),為所述線程分配第一進入許可數(shù)值,由于第一進入許可數(shù)值與當前次數(shù)成反比關(guān)系,因此當線程申請進入存儲引擎的次數(shù)越多,分給其的進入許可數(shù)值就越小,也就是說大查詢的優(yōu)先級將降低,實現(xiàn)自動調(diào)整查詢的優(yōu)先級,提升基于并發(fā)控制策略的查詢響應時間,提高存儲引擎的查詢效率。
[0010]本申請附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。
【附圖說明】
[0011]本申請上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0012]圖1是本申請實施例提出的查詢請求的處理方法的流程示意圖;
[0013]圖2是本申請實施例提出的查詢請求的處理方法的流程示意圖;
[0014]圖3是采用本申請實施例的方法來處理查詢請求的測試結(jié)果示意圖;
[0015]圖4是本申請另一實施例的查詢請求的處理裝置的結(jié)構(gòu)示意圖;
[0016]圖5是本申請另一實施例的查詢請求的處理裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0017]下面詳細描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0018]下面參考附圖描述根據(jù)本申請實施例的查詢請求的處理方法和裝置。
[0019]圖1是本申請一實施例提出的查詢請求的處理方法的流程示意圖,該方法包括:
[0020]SlOl:接收申請進入存儲引擎的線程,所述線程是處理當前語句的線程。
[0021]具體地,當線程需要進行查詢時,線程可以申請進入存儲引擎,以完成查詢操作,而存儲引擎可以根據(jù)相應的參數(shù)控制存儲引擎內(nèi)線程的數(shù)量。
[0022]存儲引擎可以設置兩個控制變量:innodb_thread_concurrency和innodb_concurrency_tickets0 innodb_thread_concurrency控制存儲引擎內(nèi)部最多同時運行的工作線程數(shù)目;innodb_concurrency_tickets表示線程進入存儲引擎后免于并發(fā)控制檢查的許可數(shù)。
[0023]在線程申請進入存儲引擎時,存儲引擎將檢查已經(jīng)進入存儲引擎的線程數(shù)。如果線程數(shù)已經(jīng)超過innodb_thread_concurrency,則此時申請進入的線程將會在存儲引擎外排隊等待。如果線程數(shù)沒有超過innodb_thread_concurrency,則可以允許線程進入存儲引擎,在線程進入存儲引擎后,innodb_concurrency_tickets表示此線程再次進入存儲引擎是否需要排隊等待:在線程被允許進入存儲引擎后,會先被分配進入許可(tickets)數(shù)值,分配的tickets的首次數(shù)值是innodb_concurrency_tickets,后續(xù)流程中如果線程具有的tickets數(shù)值大于0,則和存儲引擎的交互將不會受到并發(fā)控制限制而直接進入存儲引擎,此時仍舊會占用innodb_thread_concurrency的槽位數(shù)。
[0024]S102:確定所述線程申請進入存儲引擎后,為所述線程分配進入許可的當前次數(shù)。
[0025]如上所述,在線程進入存儲引擎后,如果該線程沒有tickets,則為該線程分配tickets。
[0026]具體地,初始化時,可設置當前次數(shù)為0,當所述線程第一次被分配進入許可之前,當前次數(shù)的初始值即為0,之后,當每被分配一次進入許可,該當前次數(shù)的數(shù)值加1,直到得到當前運算時的當前次數(shù)。
[0027]S103:為所述線程分配第一進入許可數(shù)值,其中,第一進入許可數(shù)值與當前次數(shù)成反比關(guān)系。
[0028]相關(guān)技術(shù)中,不論是大查詢還是小查詢,當線程需要獲取進入許可(tickets)數(shù)值時,會為線程分配innodb_concurrency_tickets數(shù)目的進入許可數(shù)值。但是,由于大查詢相對于小查詢對響應時間的容忍度更高,因此可以適當提高小查詢的優(yōu)先級。
[0029]為此,本實施例中分配的第一許可數(shù)值可以與當前次數(shù)成反比關(guān)系,實現(xiàn)隨著線程獲取進入許可的次數(shù)的增加分配的進入許可數(shù)值變小,從而使得小查詢優(yōu)先進入存儲引擎。
[0030]具體地,存儲引擎可以根據(jù)獲取到的當前次數(shù)和已知的參數(shù),為所述線程分配第一進入許可數(shù)值。
[0031]在本申請的一個具體實施例中,分配的第一進入許可數(shù)值可通過以下方式獲得:
[0032]計算A/2m ;若A/2m小于B,則N = B,若A/2M大于或等于B,則N = A/2M。
[0033]其中,N是分配的第一進入許可數(shù)值;A是已有參數(shù)指定的數(shù)值,即在需要分配第一進入許可數(shù)值時,初始化的分配值,由預設參數(shù)指定;B是預設的下限值,即分配的第一進入許可數(shù)值的最小值,常規(guī)地,B應小于A ;M是當前次數(shù),M的初始值是O。
[0034]本實施例通過在有線程申請進入存儲引擎時確定所述線程申請進入存儲引擎的當前次數(shù),為所述線程分配第一進入許可數(shù)值,由于第一進入許可數(shù)值與當前次數(shù)成反比關(guān)系,因此當線程申請進入存儲引擎的次數(shù)越多,分給其的進入許可數(shù)值就越小,也就是說大查詢的優(yōu)先級將降低,實現(xiàn)自動調(diào)整查詢的優(yōu)先級,提升基于并發(fā)控制策略的查詢響應時間,提高
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
广安市| 桃园县| 义乌市| 阜新市| 隆安县| 绿春县| 泰州市| 普安县| 曲周县| 蚌埠市| 茂名市| 聂拉木县| 安远县| 晋中市| 连城县| 南江县| 泾川县| 延边| 农安县| 肥城市| 枝江市| 郴州市| 泸溪县| 安乡县| 长沙县| 郑州市| 常山县| 大石桥市| 嫩江县| 汾阳市| 和顺县| 商洛市| 巴塘县| 盈江县| 湘阴县| 龙泉市| 井陉县| 綦江县| 清流县| 青铜峡市| 汕头市|