[發明專利]一種數據查詢方法在審
| 申請號: | 202011228537.5 | 申請日: | 2020-11-06 |
| 公開(公告)號: | CN112347077A | 公開(公告)日: | 2021-02-09 |
| 發明(設計)人: | 范凱杰 | 申請(專利權)人: | 北京神州數字科技有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/242;G06F16/2455 |
| 代理公司: | 北京世譽鑫誠專利代理有限公司 11368 | 代理人: | 任欣生 |
| 地址: | 100037 北京市西*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 查詢 方法 | ||
本發明公開的數據查詢方法,涉及數據庫技術領域,通過判斷本次數據查詢語句的總偏移量是否小于或等于預設的分頁閾值,若是,則根據內存分頁算法,直接執行本次數據查詢語句,若否,則將對各個分表執行第一數據查詢語句,將得到的查詢結果作為各個分表的基準記錄,將數值最小的基準記錄作為全局基準記錄,根據全局基準記錄及查詢條數1,構成第二數據查詢語句,將各個分表的基準偏移量的和作為全局基準偏移量,判斷總偏移量與全局基準偏移量的差是否小于等于預設的分頁閾值,將總偏移量與全局基準偏移量的差作為偏移量并根據本次數據查詢的條數,從數據集合中獲取相應的數據,提高了精確度,降低了數據庫性能損耗、執行時間以及內存消耗。
技術領域
本發明涉及數據庫技術領域,具體涉及一種數據查詢方法。
背景技術
通過對數據表進行水平切分,可以將數據存儲從單個數據庫擴展到多個數據庫,極大地提高了應用系統的數據存儲容量,從而提高應用系統的性能,是目前常用的解決大數據量場景下的數據庫性能瓶頸的方法。但數據表經過水平切分后,對于一些涉及多個分表的數據查詢語句,針對單個數據庫的查詢結果以及匯總各個分表查詢結果的方式都不再準確。
舉例來說,假如某張表T分為三個分表,分別記為表T0、表T1及表T2,表T0、表T1及表T2的值分別如下:
T0:1,4,7,10;
T1:2,5,8,11;
T2:3,6,9,12。
執行如下語句select id from T order by id limit 2,3,如果從未經過水平切分的完整數據表來看,數據庫應該返回3、4、5三條記錄。但如果在表T0、表T1及表T2中直接執行上述語句,得到的結果如下:
T0:7,10;
T1:8,11;
T2:9,12。
此時三個分表返回總共6條記錄,與預期的結果3、4、5三條記錄完全不同。
當前常用的解決方案為直接采用內存分頁算法進行數據查詢,具體過程舉例如下:
對于表T0、T1及T2的執行語句:select id from T order by id limit 0,5,得到的結果如下:
T0:1,4,7,10;
T1:2,5,8,11;
T2:3,6,9,12。
對上述獲取到的12條數據按照從小到大的順序進行排序,得到1,2,3,4,5,6,7,8,9,10,11,12,獲取偏移量為2、查詢條數為3的數據,得到結果3,4,5。
該方案對于偏移量巨大的數據查詢語句,在數據庫性能損耗、執行時間以及內存消耗等方面都存在巨大缺陷。
發明內容
為解決現有技術的不足,本發明實施例提供了一種數據查詢方法,該方法包括以下步驟:
S1判斷本次數據查詢語句的總偏移量是否小于或等于預設的分頁閾值,若是,則根據內存分頁算法,直接執行本次數據查詢語句;
S2若否,則將所述總偏移量除以分表數得到的商作為各個分表的偏移量,其中,所述商為所述總偏移量除以分表數得到的結果向下取得到的值;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京神州數字科技有限公司,未經北京神州數字科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011228537.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





