[發(fā)明專利]一種多表聯(lián)合查詢效率提升方法有效
| 申請?zhí)枺?/td> | 202010880649.2 | 申請日: | 2020-08-27 |
| 公開(公告)號: | CN112069207B | 公開(公告)日: | 2023-10-03 |
| 發(fā)明(設(shè)計(jì))人: | 謝仙寶;袁銳;匡勇 | 申請(專利權(quán))人: | 重慶攸亮科技股份有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/2455;G06F16/248 |
| 代理公司: | 重慶百潤洪知識產(chǎn)權(quán)代理有限公司 50219 | 代理人: | 程宇 |
| 地址: | 401336 *** | 國省代碼: | 重慶;50 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 聯(lián)合 查詢 效率 提升 方法 | ||
本發(fā)明涉及多表聯(lián)合查詢技術(shù)領(lǐng)域,特別涉及一種多表聯(lián)合查詢效率提升方法;包括以下步驟:步驟一:用戶在前端頁面提交請求參數(shù);步驟二:前端頁面獲取用戶提交的請求參數(shù),采用異步請求調(diào)用后端站點(diǎn),后端站點(diǎn)接收到請求參數(shù)后,請求后端服務(wù)進(jìn)行查詢;步驟三:后端服務(wù)在接收到查詢分頁數(shù)據(jù)和查詢總數(shù)的請求后,檢查任務(wù)緩存中是否包含對應(yīng)的計(jì)算頁碼任務(wù)緩存;步驟四:前端頁面在接收分頁結(jié)構(gòu)數(shù)據(jù)后,生成數(shù)據(jù)表格。本發(fā)明通過對查詢總數(shù)和查詢特定分頁數(shù)據(jù)的過程進(jìn)行優(yōu)化,能夠加快查詢速度,提高查詢效率。
技術(shù)領(lǐng)域
本發(fā)明涉及多表聯(lián)合查詢技術(shù)領(lǐng)域,特別涉及一種多表聯(lián)合查詢效率提升方法。
背景技術(shù)
該方法主要解決數(shù)據(jù)變化不大情況下,數(shù)據(jù)庫水平分表分頁查詢效率問題。數(shù)據(jù)變化不大,是指數(shù)據(jù)庫中很少更新相關(guān)字段或刪除數(shù)據(jù)行。數(shù)據(jù)庫采用水平分表,可采用按時(shí)間、按取值范圍、取值Hash等方式。
眾所周知,分頁查詢前端展示主要分為兩個(gè)部分:數(shù)據(jù)表格顯示和分頁頁碼顯示。構(gòu)造前端需要的數(shù)據(jù),需要在后端執(zhí)行查詢總數(shù)sql和查詢當(dāng)前分頁sql,查詢當(dāng)前分頁sql的結(jié)果返回當(dāng)前分頁數(shù)據(jù),查詢總數(shù)sql用于返回總數(shù)并構(gòu)造頁碼。
采用水平分表存儲方案,可避免單表存儲數(shù)據(jù)量過大時(shí)存儲檢索問題。水平分表分頁查詢處理原理:根據(jù)特定條件檢索遍歷分表,查詢總數(shù)和查詢分頁數(shù)據(jù)。查詢水平分表分頁主要需要解決檢索范圍未知和查詢結(jié)果合并的問題。分表分頁sql查詢一般的處理情況是,在單個(gè)請求中對分表進(jìn)行union處理,然后進(jìn)行查詢條件篩選,最后獲取總數(shù)和分頁數(shù)據(jù)。采用這種方式從實(shí)際應(yīng)用來看,查詢緩慢、效率不夠高效。
為此,提出一種多表聯(lián)合查詢效率提升方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多表聯(lián)合查詢效率提升方法,該方法通過對查詢總數(shù)和查詢特定分頁數(shù)據(jù)的過程進(jìn)行優(yōu)化,能夠加快查詢速度,提高查詢效率。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:
一種多表聯(lián)合查詢效率提升方法,包括以下步驟:
步驟一:用戶在前端頁面根據(jù)查詢需求,提交包括查詢條件和排序條件的請求參數(shù);
步驟二:前端頁面獲取用戶提交的請求參數(shù),采用異步請求調(diào)用后端站點(diǎn),后端站點(diǎn)接收到請求參數(shù)后,請求后端服務(wù)進(jìn)行查詢,查詢過程包括查詢分頁數(shù)據(jù)和查詢總數(shù)兩個(gè)過程;
步驟三:后端服務(wù)在接收到查詢分頁數(shù)據(jù)和查詢總數(shù)的請求后,檢查任務(wù)緩存中是否包含對應(yīng)的計(jì)算頁碼任務(wù)緩存,如果包含對應(yīng)的計(jì)算頁碼任務(wù)緩存,從任務(wù)緩存中獲取對應(yīng)的計(jì)算頁碼任務(wù)進(jìn)行計(jì)算和查找,如果未包含對應(yīng)的計(jì)算頁碼任務(wù)緩存,創(chuàng)建計(jì)算總數(shù)任務(wù),生成完總數(shù)任務(wù)后,使用單獨(dú)的調(diào)度線程對任務(wù)緩存中的計(jì)算頁碼任務(wù)進(jìn)行查找和后續(xù)計(jì)算分配,后端服務(wù)處理后得到分頁結(jié)構(gòu)數(shù)據(jù),并將分頁結(jié)構(gòu)數(shù)據(jù)返回給前端頁面;
步驟四:前端頁面在接收分頁結(jié)構(gòu)數(shù)據(jù)后,生成數(shù)據(jù)表格。
具體的,所述步驟一中查詢條件包括字段、操作符和查詢值。
具體的,所述步驟一中排序條件包括字段和排序符號。
具體的,所述步驟二中后端站點(diǎn)包括后端站點(diǎn)分頁查詢接口和后端站點(diǎn)總數(shù)接口,所述后端服務(wù)為后端服務(wù)分頁查詢接口,所述任務(wù)緩存為內(nèi)存數(shù)據(jù)字典。
具體的,所述步驟三中查詢分頁數(shù)據(jù)的具體過程:
(51)采用異步請求調(diào)用后端站點(diǎn)分頁查詢接口,后端站點(diǎn)分頁查詢接口收到請求參數(shù)后,添加當(dāng)前會話編號,請求后端服務(wù)分頁查詢接口;
(52)后端服務(wù)分頁查詢接口接收到請求參數(shù)后,根據(jù)請求參數(shù)中的查詢條件使用哈希算法創(chuàng)建任務(wù)編號;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于重慶攸亮科技股份有限公司,未經(jīng)重慶攸亮科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010880649.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 中繼網(wǎng)絡(luò)中的聯(lián)合方法、系統(tǒng)、中繼站及移動臺
- 中繼網(wǎng)絡(luò)中的聯(lián)合方法、系統(tǒng)、中繼站及移動臺
- 便攜信息終端、以及便攜信息終端的控制方法
- 電法與地震同步聯(lián)合反演方法及系統(tǒng)
- 銀行聯(lián)合放款的放款方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種基于自主學(xué)習(xí)群搜索算法的聯(lián)合調(diào)度方法及系統(tǒng)
- 一種基于多目標(biāo)種群群搜索算法的聯(lián)合調(diào)度方法及系統(tǒng)
- 聯(lián)合貸款中的罰息與利息結(jié)算方法、裝置、介質(zhì)和設(shè)備
- 一種基坑支護(hù)用H型鋼構(gòu)件
- 用于云環(huán)境的語義元聯(lián)合代理





