[發明專利]一種基于完全成本計算的數據索引方法及系統有效
| 申請號: | 201710417077.2 | 申請日: | 2017-06-06 |
| 公開(公告)號: | CN107229726B | 公開(公告)日: | 2021-02-19 |
| 發明(設計)人: | 吳春中;張浩陽 | 申請(專利權)人: | 成都索貝數碼科技股份有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22 |
| 代理公司: | 成都金英專利代理事務所(普通合伙) 51218 | 代理人: | 袁英 |
| 地址: | 610041 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 完全 成本計算 數據 索引 方法 系統 | ||
1.一種基于完全成本計算的數據索引方法,其特征在于,它具體包括如下步驟:
S003成本預估:對每一個索引字段進行成本預估并得到預估值;針對于不同的索引字段類型的成本評估具體為:
整數型:條件掃描范圍÷索引有效數據范圍=預估值;
浮點型:條件掃描范圍÷索引有效數據范圍=預估值;
字符串、復合索引、二叉樹索引:固定值÷索引條件中的字符數=預估值;所述固定值為100;
S004預估值排序:將所得到的預估值按從小到大進行排序;
S005命中量預估:基于S004預估值排序的結果,依次使用對應的索引字段,直接定位索引中的開始和結束位置,預估命中數據量,并根據命中量結果符合以下條件之一進行判斷執行相應的方案;
S501當任意一個索引滿足預設條件1,即命中量小于1%且小于128條時,直接選擇該索引執行;
S502當所有的索引都滿足預設條件2,即命中量大于20%時,直接選擇全表遍歷;
S503其他情況下,執行命中量最低的索引。
2.根據權利要求1所述的一種基于完全成本計算的數據索引方法,還包括:
S001探測可能使用的索引;
S002判斷可使用的索引的數目:索引數目為0,直接全表遍歷,反之進行下一個步驟。
3.根據權利要求2所述的一種基于完全成本計算的數據索引方法,其特征在于:所述的步驟S001具體為:
S101若沒有綁定變量,直接進行下一步驟,若有綁定變量,先解綁定再進行下一步驟;
S102生成BSON文件;
S103根據SQL語句中的條件結合表索引情況初步篩選可使用的索引。
4.根據權利要求3所述的一種基于完全成本計算的數據索引方法,其特征在于:所述的SQL語句中的條件,包括:檢索、更新、刪除語句的一種或多種。
5.根據權利要求1所述的一種基于完全成本計算的數據索引方法,其特征在于,所述的預估值和命中量還包括:
在一個索引字段中同時出現多個AND關系的條件選擇成本小的條件使用索引,計算預估值和命中量;
在一個索引字段中同時出現多個OR關系的條件分別使用索引后合并,整體計算預估值和命中量。
6.一種基于完全成本計算的數據索引裝置,其特征在于,它包括:索引探測模塊、索引數目判斷模塊、成本預估模塊、預估排序模塊和命中量預估模塊;
所述的索引探測模塊探測可能使用的索引;
所述的索引數目判斷模塊判斷可使用的索引的數目;
所述的成本預估模塊對每一個索引字段進行成本預估;所述成本預估具體為:
整數型:條件掃描范圍÷索引有效數據范圍=預估值;
浮點型:條件掃描范圍÷索引有效數據范圍=預估值;
字符串、復合索引、二叉樹索引:固定值÷索引條件中的字符數=預估值;所述固定值為100;
所述的預估排序模塊將所得到的預估值按從小到大進行排序;
所述的命中量預估模排序依次使用索引直接定位開始和結束位置,預估命中數據量,并根據命中量結果進行判斷;所述根據命中量結果進行判斷過程具體為:當任意一個索引滿足預設條件1,即命中量小于1%且小于128條時,直接選擇該索引執行;當所有的索引都滿足預設條件2,即命中量大于20%時,直接選擇全表遍歷;其他情況下,執行命中量最低的索引。
7.一種終端系統,其特征在于,所述終端系統包括:
處理器,用于執行程序;
存儲器,用于存儲由處理器執行的程序,其中所述程序在執行時包括以下步驟:
S001探測可能使用的索引;
S002判斷可使用的索引的數目:索引數目為0,直接全表遍歷,反之進行下一個步驟;
S003成本預估:對每一個索引字段進行成本預估并得到預估值;針對于不同的索引字段類型的成本評估具體為:
整數型:條件掃描范圍÷索引有效數據范圍=預估值;
浮點型:條件掃描范圍÷索引有效數據范圍=預估值;
字符串、復合索引、二叉樹索引:固定值÷索引條件中的字符數=預估值;所述固定值為100;
S004預估值排序:將所得到的預估值按從小到大進行排序;
S005命中量預估:基于S004預估值排序的結果,依次使用對應的索引字段,直接定位索引中的開始和結束位置,預估命中數據量,并根據命中量結果符合以下條件之一進行判斷執行相應的方案;
S501當任意一個索引滿足預設條件1,即命中量小于1%且小于128條時,直接選擇該索引執行;
S502當所有的索引都滿足預設條件2,即命中量大于20%時,直接選擇全表遍歷;
S503其他情況下,執行命中量最低的索引。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都索貝數碼科技股份有限公司,未經成都索貝數碼科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710417077.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種模型要素與計算方案管理方法
- 下一篇:一種調控酪酸菌發酵效率的方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





