新四季網

一種資料庫單表記錄快速查找的方法

2023-07-03 03:43:06

專利名稱:一種資料庫單表記錄快速查找的方法
技術領域:
本發明涉及資料庫中單表記錄數據訪問技術領域,更確切的說是涉及一種對數據 庫單表記錄快速查找的方法。
背景技術:
隨著科學技術的快速發展,資料庫已經普遍應用於各種領域,而資料庫又是各大 信息網站的核心,對資料庫中表的數據獲取時間要求也越來越高。由於當前社交網以及論壇之類的以數據為中心的網站,每天都有成千上萬條或更 多的數據需要存儲在信息資料庫中,如論壇類的發帖內容和回帖內容,社交網類的用戶基 本信息、用戶分享信息以及留言等數據,而目前的數據存儲是按類別存儲的,即每一類別的 數據是存儲在一張表中,因此這樣的情況下數據表中的數據量也是相對比較大。如果用戶需要查詢相關數據記錄的話,則查詢速度將是需要首先考慮的問題,目 前的方法是在信息資料庫中找到相應的表,再對表中的全部數據進行查詢,最後把數據最 終顯示出來,顯然,在此數據量相對比較大的表中進行直接查找數據是相對耗時的,本發明 是用於計算機資料庫中表查詢模塊,開發人員可以利用本發明技術來提高資料庫中單表記 錄查找的速度問題,將需要的信息先通過查找部分的顯示出來,然後將後續的查找結果陸 續的顯示給用戶。現有資料庫表記錄查找的方法是在數據表上建立索引,使用硬體來分擔磁碟I/O 等方法,這樣實現的方法需要額外的硬體以及額外的空間來擔當,則成本比較昂貴,而且查 找時間並沒有明顯提高。

發明內容
為了解決數據表中記錄查找時間的問題,本發明的主要目的是提供一種資料庫單 表記錄快速查找的方法,使用戶能夠快速的從比較相對大的數據量的數據表中查找到需要 的詳細數據,以滿足用戶的需要。本發明為實現上述目的,採用如下技術方案
本發明一種資料庫單表記錄快速查找的方法,用於計算機資料庫中表查詢模塊,包括 如下步驟
步驟一根據查詢語句進行以下方法優化,重新生成新查詢語句,同時在計算機內存中 申請上一次查詢結果數據區,用於保存上一次查詢最終結果數據;
步驟二 根據新查詢語句提取出資料庫單表名,將所述提取出的資料庫單表中的數據 按照一定規則進行讀取,並在計算機內存中分配所述讀取數據大小的數據交換區,將讀取 出的數據存入該數據交換區,用於在整個查詢過程中的數據交換; 步驟三更新數據交換區中的數據;
步驟四將新查詢語句查詢對象修改為數據區的數據,將查詢結果連結在已申請的上 一次查詢結果數據區,同時將資料庫單表中含有查詢結果記錄中查詢次數欄位的值加一;步驟五重複執行步驟二和步驟四,直到取完資料庫單表中的所有數據; 步驟六返回查詢結果。其中,步驟一中所述的以下方法優化包括識別關鍵字信息和優化規則。其中,所述識別關鍵字信息,包括HAVING,>,DELETE,IN, NOT IN, EXISTS, DISTINCT, UNION 信息;
所述優化規則,是根據以下優化原理來優化查詢語句,包括用Where子句替換HAVING 子句;使用DECODE函數;用 >=替代 > ;使用表的別名;用TRUNCATE替代DELETE ;用ROWID進 行表訪問;用EXISTS替代IN ;用NOT EXISTS替代NOT IN ;用表連接替換EXISTS ;用EXISTS 替換 DISTINCT ;用 UNION-ALL 替換 UNION 規則。其中,步驟二中所述按照一定規則讀取資料庫單表中的數據包括 配置讀取規則,包括數據排序類型、排序欄位、讀取記錄行數、當前記錄集標誌; 讀數據存儲過程,進一步需要的參數包括資料庫IP位址、資料庫名、登入用戶名、登
入密碼、數據表名、數據排序類型、讀取記錄行數、當前記錄集標誌。其中,步驟三中所述更新數據交換區中的數據是定時更新的,首先在查詢模塊中 創建一個更新線程,在更新線程中啟動一個定時器,定時器在設定的時間間隔內按照步驟 二中的一定規則向數據表進行數據的獲取。其中,步驟四中所述內存中的數據區包括數據交換區和上一次查詢結果數據區, 第一次進行查詢時,首先查詢的數據區是上一次查詢結果數據區數據;查找完上一次查詢 結果數據區後進行查找數據交換區數據。其中,所述上一次查詢的結果數據區是指上一次最終查詢結果的數據存放區,用 於本次查詢的首選查詢數據;
所述數據交換區是指讀取資料庫單表中指定行的數據記錄,用於該數據交換區的數據 查詢完後進行下一輪數據的更新,包括如下步驟
步驟a,將資料庫單表中數據按照配置讀取規則中的排序欄位進行排序,然後取指定行 的數據記錄;
步驟b,當查詢語句查詢完該數據交換區後,將查詢結果連結到上一次查詢結果數據區; 步驟c,接著取表中剩下記錄中的指定行的數據記錄。採用本發明所述方法,與現有技術相比,經過優化後的查詢語句,加上所要查詢 的數據是表中記錄經常被訪問的數據,以及所要查詢的數據都是存放在內存數據區中,而 訪問內存的速度比訪問數據表的速度快很多,因此本發明能夠明顯提高查詢數據的查找時 間,此技術全部使用了軟體技術,沒有增加額外的硬體和硬碟存儲空間,節省了硬體成本。


圖1為本發明優化查詢語句的流程圖。圖2為本發明查詢語句執行查詢的流程圖。圖3為本發明快速查找數據表中數據記錄的流程圖。
具體實施例方式下面結合附圖,基本按照附圖的順序對技術方案的實施過程作進一步的詳細描述
在圖1中,本發明說明了優化查詢語句的流程圖。其中優化的步驟包括識別關鍵字信 息、優化規則,各部分的說明如下
步驟 11,識別關鍵字信息,包括HAVING, >,DELETE, IN, NOT IN, EXISTS, DISTINCT, UNION等信息。步驟12,優化規則,是根據以下優化原理來優化查詢語句,包括用Where子句替 換HAVING子句;使用DECODE函數;用 >=替代 > ;使用表的別名;用TRUNCATE替代DELETE ; 用ROWID進行表訪問;用EXISTS替代IN ;用NOT EXISTS替代NOT IN ;用表連接替換 EXISTS ;用 EXISTS 替換 DISTINCT ;用 UNION-ALL 替換 UNION 等規則。在查詢模塊啟動後,該模塊中有單表查詢請求時,獲取查詢語句,如下所示 SELECT ID, NAME,SUM(AGE) FROM EMPLOYEE
GROUP BY ID HAVING ID>8
則此時識別到關鍵字有HAVING,>等,對照優化規則中的第一條和第三條規則進行優 化,即最終優化後的查詢語句如下所示
SELECT ID, NAME, SUM(AGE) FROM EMPLOYEE WHERE ID>=9 GROUP BY ID
在圖2中,本發明說明了查詢語句執行查詢的流程圖。(1)在圖1結束後將產生新的查詢語句,判斷該查詢是否是第一次查詢,如果是, 則執行(2 ),如果不是,則執行(3 )。( 2 )獲取讀取規則中的數據排序類型、按照指定的排序類型和排序欄位進行排序, 獲取讀取記錄行數和當前記錄集標誌,從該表中獲取指定記錄行數的數據,保證該數據是 按照排序欄位的最靠前指定記錄行數的數據,並將該數據存儲到內存數據交換區和上一次 查詢結果數據區。( 3 )將查詢語句查詢對象修改為內存數據區。首先查詢上一次查詢結果數據區,查 詢完該語句後將清除上一次查詢結果數據區,將之前的查詢結果連結到上一次查詢結果數 據區上。(4)查詢數據交換區,將查詢結果連結到上一次查詢結果數據區上。(5)判斷表中是否還有可讀數據,如果有,執行(6),如果沒有,則執行(7)。(6)獲取表中下一記錄集,將記錄集存儲在數據交換區,執行(4)。(7)將表中查詢次數欄位的值加一。(8)返回上一次查詢結果數據區的數據。在圖3中,本發明說明了快速查找數據表中數據記錄的流程圖。( 1)獲取查詢語句,並進行優化該查詢語句,生成新查詢語句。(2)進行新查詢語句的執行,將執行後的查詢結果連結在上一次查詢結果數據區 上,並定時更新內存中的數據區。(3)將內存中的上一次查詢結果數據區中的數據返回顯示。
權利要求
一種資料庫單表記錄快速查找的方法,用於計算機資料庫中表查詢模塊,其特徵在於,包括如下步驟步驟一根據查詢語句進行以下方法優化,重新生成新查詢語句,同時在計算機內存中申請上一次查詢結果數據區,用於保存上一次查詢最終結果數據;步驟二根據新查詢語句提取出資料庫單表名,將所述提取出的資料庫單表中的數據按照一定規則進行讀取,並在計算機內存中分配所述讀取數據大小的數據交換區,將讀取出的數據存入該數據交換區,用於在整個查詢過程中的數據交換;步驟三更新數據交換區中的數據;步驟四將新查詢語句查詢對象修改為數據區中的數據,將查詢結果連結在已申請的上一次查詢結果數據區,同時將資料庫單表中含有查詢結果記錄中查詢次數欄位的值加一;步驟五重複執行步驟二和步驟四,直到取完資料庫單表中的所有數據;步驟六返回查詢結果。
2.根據權利要求1所述的一種資料庫單表記錄快速查找的方法,其特徵在於步驟一 中所述的以下方法優化包括識別關鍵字信息和優化規則。
3.根據權利要求2所述的一種資料庫單表記錄快速查找的方法,其特徵在於 所述識別關鍵字信息,包括HAVING,>,DELETE, IN, NOT IN, EXISTS, DISTINCT, UNION信息;所述優化規則,是根據以下優化原理來優化查詢語句,包括用Where子句替換HAVING 子句;使用DECODE函數;用 >=替代 > ;使用表的別名;用TRUNCATE替代DELETE ;用ROWID進 行表訪問;用EXISTS替代IN ;用NOT EXISTS替代NOT IN ;用表連接替換EXISTS ;用EXISTS 替換 DISTINCT ;用 UNION-ALL 替換 UNION 規則。
4.根據權利要求1所述的一種資料庫單表記錄快速查找的方法,其特徵在於步驟二 中所述按照一定規則讀取資料庫單表中的數據包括配置讀取規則,包括數據排序類型、排序欄位、讀取記錄行數、當前記錄集標誌; 讀數據存儲過程,進一步需要的參數包括資料庫IP位址、資料庫名、登入用戶名、登 入密碼、數據表名、數據排序類型、讀取記錄行數、當前記錄集標誌。
5.根據權利要求1所述的一種資料庫單表記錄快速查找的方法,其特徵在於步驟三 中所述更新數據交換區中的數據是定時更新的,首先在查詢模塊中創建一個更新線程,在 更新線程中啟動一個定時器,定時器在設定的時間間隔內按照步驟二中的一定規則向數據 表進行數據的獲取。
6.根據權利要求1所述的一種資料庫單表記錄快速查找的方法,其特徵在於步驟四 中所述的數據區包括數據交換區和上一次查詢結果數據區,第一次進行查詢時,首先查詢 的數據區是上一次查詢結果數據區數據;查找完上一次查詢結果數據區後進行查找數據交 換區數據。
7.根據權利要求6所述的一種資料庫單表記錄快速查找的方法,其特徵在於所述上 一次查詢的結果數據區是指上一次最終查詢結果的數據存放區,用於本次查詢的首選查詢 數據;所述數據交換區是指讀取資料庫單表中指定行的數據記錄,用於該數據交換區的數據查詢完後進行下一輪數據的更新,包括如下步驟步驟a,將資料庫單表中數據按照配置讀取規則中的排序欄位進行排序,然後取指定行 的數據記錄;步驟b,當查詢語句查詢完該數據交換區後,將查詢結果連結到上一次查詢結果數據區;步驟c,接著取表中剩下記錄中的指定行的數據記錄。
全文摘要
本發明公布了一種資料庫單表記錄快速查找的方法,用於計算機資料庫中表記錄查詢模塊,包括對查詢語句進行優化,重新生成新查詢語句,同時在計算機內存中申請特別數據區,用於保存上一次查詢的結果數據;根據新查詢語句提取出資料庫單表名,將所述提取出的資料庫單表中的數據按照一定規則進行讀取,將讀取出的數據存入該數據交換區,用在整個查詢過程中的數據交換;動態更新數據交換區中的數據;將新查詢語句查詢對象修改為數據區中的數據,將查詢結果連結在已申請的數據區,同時將資料庫單表中含有查詢結果記錄中查詢次數欄位的值加一;本發明一方面能夠明顯提高查詢數據的查找時間,同時沒有增加額外的硬體和硬碟存儲空間,節省了硬體成本。
文檔編號G06F17/30GK101963993SQ201010514250
公開日2011年2月2日 申請日期2010年10月21日 優先權日2010年10月21日
發明者劉鎮, 孫敏, 張笑非, 錢萍 申請人:江蘇科技大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀