[發明專利]一種提高數據庫查詢效率的方法和系統在審
| 申請號: | 201310647102.8 | 申請日: | 2013-12-06 |
| 公開(公告)號: | CN103646067A | 公開(公告)日: | 2014-03-19 |
| 發明(設計)人: | 蘭俊松;王德鵬;劉念林 | 申請(專利權)人: | 四川九洲電器集團有限責任公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 成都九鼎天元知識產權代理有限公司 51214 | 代理人: | 楊永梅 |
| 地址: | 621000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提高 數據庫 查詢 效率 方法 系統 | ||
技術領域
本發明屬于數據庫查詢技術領域,尤其涉及一種提高數據庫查詢效率的方法和系統。
背景技術
目前主流數據庫中提高查詢效率的方法基本上都是基于某種具體的關系型數據庫RDBMS系統進行的,并且都在某種程度上運用了某種具體的關系型數據庫的特性進行處理。這種現狀導致對通用的關系型數據庫RDBMS系統缺乏統一和高效的查詢方法。在局部應用和小規模應用時,查詢效率低的問題還不突出,但一旦涉及到用戶分布式應用,甚至遷移和移植數據庫,原有的提高查詢效率的方法將完全失效。
目前在數據庫查詢效率提升方面,都是各個廠商或者某個特定的關系數據庫進行特定的查詢效率優化,常見的有索引優化,存儲空間的優化,數據頁的鏈接,特定的主鍵設計等等。但是需要特定數據庫提供不同的功能支持和函數接口,并且在這個層面不同的關系型數據庫提供的數據操作語言DML、數據定義語言DDL在語法和詞法上相差甚遠,根本無法達到統一和通用。
發明內容
本發明的目的是針對現有技術中沒有一種有效、通用的方法來提高數據庫查詢效率的技術問題,本發明公開了一種提高數據庫查詢效率的方法。本發明還公開了提高數據庫查詢效率方法的實現系統。
本發明的目的通過下述技術方案來實現:
一種提高數據庫查詢效率的方法,其具體包括以下的步驟:步驟一、提取出查詢語句,將查詢語句采用條件集進行描述,其中條件集G={g1,g2,g3,…,gn},gi為條件項(i=1,2,3,…,n),每個gi由原子條件tij(j=1,2,3,…,m)組成;條件項為只含有原子條件tij和“與”運算符的邏輯表達式;原子條件為不含“與”且不含“或”運算符的邏輯表達式;步驟二、遍歷G的全部條件項,將每個條件項下的原子條件與其他原子條件逐一進行比較,當某個條件項下兩個原子條件之間有邏輯上的相互包含關系時,則將范圍較大外延較小的原子條件舍去,得到新的條件集,并采用新的條件集進行數據庫的查詢。
更進一步地,上述方法還包括:當其中一個條件項是一個原子條件時,將這個原子條件與其他條件項的原子條件進行比較,當其他條件項的某個原子條件與這個原子條件相同時,將相同的原子條件構成條件集G的一個子集,其他的條件構成條件集G的另外的子集,從而形成新的條件集。
更進一步地,上述方法還包括:當其中一個條件項包括兩個或者兩個以上的原子條件時,依次取出每一個原子條件,將取出的原子條件與其他其他條件項的原子條件進行比較,當其他條件項的某個原子條件與這個取出的原子條件相同時,將相同的原子條件構成條件集G的一個子集,其他的條件構成條件集G另外的子集,從而形成新的條件集。
本發明還公開了一種提高數據庫查詢效率方法的實現系統,其具體包括語查詢語句提取模塊和查詢語句優化模塊,所述查詢語句提取模塊用于提取出查詢語句,將查詢語句采用條件集進行描述,其中條件集G={g1,g2,g3,…,gn},gi為條件項(i=1,2,3,…,n),每個gi由原子條件tij(j=1,2,3,…,m)組成;條件項為只含有原子條件tij和“與”運算符的邏輯表達式;原子條件為不含“與”且不含“或”運算符的邏輯表達式;所述查詢語句優化模塊用于遍歷G的全部條件項,將每個條件項下的原子條件與其他原子條件逐一進行比較,當某個條件項下兩個原子條件之間有邏輯上的相互包含關系時,則將范圍較大外延較小的原子條件舍去,得到新的條件集,并采用新的條件集進行數據庫的查詢。
更進一步地,上述系統還還包括公共原子條件提取模塊,所述公共原子條件提取模塊用于當其中一個條件項是一個原子條件時,將這個原子條件與其他條件項的原子條件進行比較,當其他條件項的某個原子條件與這個原子條件相同時,將相同的原子條件構成條件集G的一個子集,其他的條件構成條件集G的另外的子集,從而形成新的條件集。
更進一步地,上述公共原子條件提取模塊還用于當其中一個條件項包括兩個或者兩個以上的原子條件時,依次取出每一個原子條件,將取出的原子條件與其他其他條件項的原子條件進行比較,當其他條件項的某個原子條件與這個取出的原子條件相同時,將相同的原子條件構成條件集G的一個子集,其他的條件構成條件集G另外的子集,從而形成新的條件集。
通過采用以上技術方案,本發明具有以下有益效果:通過優化查詢條件,將條件項下的原子條件之間的邏輯關系進行優化,將條件項之間的邏輯關系進行優化,減少從數據庫中提取數據的操作,從而提高數據庫的查詢效率。
附圖說明
圖1為本發明的提高數據庫查詢效率的方法的流程圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川九洲電器集團有限責任公司,未經四川九洲電器集團有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310647102.8/2.html,轉載請聲明來源鉆瓜專利網。





