国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據查詢方法和一種數(shù)據查詢系統(tǒng)的制作方法

      文檔序號:6457861閱讀:267來源:國知局
      專利名稱:一種數(shù)據查詢方法和一種數(shù)據查詢系統(tǒng)的制作方法
      技術領域
      本發(fā)明涉及數(shù)據庫應用領域,特別是涉及一種數(shù)據查詢方法和一種數(shù) 據查詢系統(tǒng)。
      背景技術
      在目前的很多軟件應用系統(tǒng)中,經常面臨訪問數(shù)據庫的問題,而數(shù) 據查詢則是最常用的一個操作?,F(xiàn)有的數(shù)據查詢技術中, 一般依據用戶的查詢條件生成SQL語句,把 滿足條件的數(shù)據從數(shù)據庫中提取出來,在客戶端進行顯示。然而, 一旦 并發(fā)查詢過多,則可能導致數(shù)據庫端的內存資源不足,從而嚴重影響查 詢效率。由于傳輸?shù)臄?shù)據量較大,并在一定時間內需要大量占用客戶端 的內存,這種方式還不適用于小帶寬的web應用。對此,現(xiàn)有技術使用分 頁查詢技術來解決上述問題。分頁查詢的技術原理是,在數(shù)據庫端實現(xiàn)分頁技術,通過數(shù)據庫的 游標取出某個范圍的數(shù)據,例如,在JAVA中通過游標查詢,直接使用 ResultSet來處理。其中,ResultSet是直接在數(shù)據庫上建立游標,然后通過 ResultSet的行位置定位接口來獲得指定行位置的記錄。當用戶第 一請求數(shù) 據查詢時,就執(zhí)行SQL語句查詢,獲得的ResultSet對象及其要使用的連接 對象都保存到其對應的會話對象中。以后的分頁查詢都通過第 一次執(zhí)行 SQL獲得的ResultSet對象定位取得指定行位置的記錄。然而,這種處理方 式在每次分頁查詢時,數(shù)據庫仍需要預先從數(shù)據集合中過濾出符合條件 的數(shù)據,再進一步釆用游標取出某個范圍的數(shù)據,因而查詢的反應速度 較慢,對數(shù)據庫的訪問資源占用較大,特別在并發(fā)查詢較多時,由于上 述影響數(shù)據庫端性能的因素,必將導致系統(tǒng)的反應變慢??傊?,目前需要本領域技術人員迫切解決的一個技術問題就是如 何能夠創(chuàng)新的提出一種數(shù)據查詢機制,可以在節(jié)省資源占用的前提下, 簡單、有效地提高數(shù)據查詢效率。發(fā)明內容本發(fā)明所要解決的技術問題是提供一種數(shù)據查詢方法,用以在節(jié)省資 源占用的前提下,簡卑、有效地提高數(shù)據查詢效率。本發(fā)明還提供了 一種數(shù)據查詢裝置,用以保證上述方法在實際中的 實現(xiàn)及應用。為解決上述技術問題,本發(fā)明實施例公開了一種數(shù)據查詢方法,包括在數(shù)據源中定義查詢主鍵;從所述查詢主鍵中提取滿足查詢條件的查詢主鍵,以創(chuàng)建查詢主鍵列表;生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包括頁面標識及對 應的查詢主4建范圍;依據用戶指定的頁面標識提取相應范圍的查詢主鍵,以生成查詢語句;執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集。優(yōu)選的,所述的方法,還包括在當前頁面展示所述數(shù)據結果集。優(yōu)選的,所述的方法,還包括保存所述查詢主鍵列表至客戶端緩存中。優(yōu)選的,所述數(shù)據源為位于服務器端或客戶端的數(shù)據庫。優(yōu)選的,所述查詢語句為SQL查詢語句。本發(fā)明實施例還公開了一種數(shù)據查詢系統(tǒng),包括主鍵定義模塊,用于在數(shù)據源中定義查詢主鍵;主鍵提取模塊,用于從所述查詢主鍵中提取滿足查詢條件的查詢主 鍵,以創(chuàng)建查詢主鍵列表;分頁模塊,用于生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包 括頁面標識及對應的查詢主4建范圍;語句生成模塊,用于依據用戶指定的頁面標識提取相應范圍的查詢主 4定,以生成查詢i吾句;執(zhí)行模塊,用于執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集。優(yōu)選的,所述的系統(tǒng),還包括展示模塊,用于在當前頁面展示所述數(shù)據結果集。優(yōu)選的,所述的系統(tǒng),還包括緩存模塊,用于保存所述查詢主鍵列表至客戶端緩存中。 優(yōu)選的,所述數(shù)據源為位于服務器端或客戶端的數(shù)據庫。 優(yōu)選的,所述查詢語句為SQL查詢語句。 與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點為了解決大數(shù)據量數(shù)據查詢的問題,本發(fā)明提供了 一種解決途徑, 通過定義數(shù)據源的查詢主鍵作為查詢的基礎,并建立分頁規(guī)則,用戶查 詢時,通過指定的頁面標識和相應的查詢主4建生成查詢語句,以進4亍分 頁展示,從而大大減少了數(shù)據處理量和傳輸量,有效節(jié)省了系統(tǒng)資源占 用,提高了查詢效率,進而提高了系統(tǒng)的反應速度,特別在數(shù)據并發(fā)查 詢較多時,這種查詢性能的提高尤為明顯。


      圖1是本發(fā)明一種數(shù)據查詢的方法實施例1的步驟流程圖;圖2是本發(fā)明一種數(shù)據查詢的方法實施例2的步驟流程圖;圖3是一種訂單數(shù)據表的示意圖;圖4是返回數(shù)據結果集的界面示意圖;圖5是本發(fā)明 一種數(shù)據查詢的系統(tǒng)實施例的結構框圖。
      具體實施方式
      為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合 附圖和具體實施方式
      對本發(fā)明作進一步詳細的說明。本發(fā)明可用于眾多通用或專用的計算系統(tǒng)環(huán)境或配置中。例如個 人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處 理器系統(tǒng)、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的 一般上下文中描 述,例如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽 象數(shù)據類型的例程、程序、對象、組件、數(shù)據結構等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網絡 而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊本發(fā)明實施例的核心構思之一在于,通過定義數(shù)據源的查詢主鍵作 為查詢的基礎,并建立分頁規(guī)則,用戶查詢時,通過指定的頁面標識和 相應的查詢主鍵生成查詢語句,以進行分頁展示,從而減少數(shù)據處理量 和傳輸量,有效節(jié)省系統(tǒng)資源的占用,提高查詢的效率,進而提高系統(tǒng) 的反應速度。參考圖1,示出了本發(fā)明一種數(shù)據查詢方法實施例1的流程圖,可以包括以下步驟步驟IOI、在數(shù)據源中定義查詢主鍵;步驟102、從所述查詢主鍵中提取滿足查詢條件的查詢主鍵,以創(chuàng)建 查詢主4建列表;步驟103、生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包括頁 面標識及對應的查詢主4建范圍;步驟104、依據用戶指定的頁面標識提取相應范圍的查詢主鍵,以生 成查詢語句;步驟105、執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集。 通常,在建立數(shù)據庫的時候,會為每張表指定一個主鍵(PrimaryKey), 所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組, 一個表通常只 能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行 記錄,所以可以確保執(zhí)行數(shù)據更新、刪除的時候不會出現(xiàn)張冠李戴的錯 誤。當然,還以增加其它字段在執(zhí)行操作時消除共享沖突。主鍵除了上 述作用外,常常與外鍵構成參照完整性約束,防止出現(xiàn)數(shù)據不一致?,F(xiàn)有技術提供了諸多數(shù)據庫主鍵選取的方案,例如,自動增長字段、 手動增長字段、使用Uniqueldentifier類型、使用"COMB (Combine)" 類型等。當然,本領域技術人員采用任一種方法在數(shù)據源中定義查找主 鍵都是可行的,本發(fā)明對此并不需要作出限制。參考圖2,示出了本發(fā)明一種數(shù)據查詢方法實施例2的流程圖,可以 包括以下步驟步驟201、在位于服務器端或客戶端的數(shù)據庫中定義查詢主鍵;步驟202、從所述查詢主4定中提取滿足查詢條件的查詢主鍵,以創(chuàng)建 查詢主鍵列表,并保存所述查詢主鍵列表至客戶端緩存中;步驟203、生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包括頁 面標識及對應的查詢主^l建范圍;步驟204、依據用戶指定的頁面標識提取相應范圍的查詢主鍵,以生 成查詢i吾句;步驟205、執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集; 步驟206、在當前頁面展示所述數(shù)據結果集。優(yōu)選的是,所述查詢語句可以為SQL查詢語句。SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為數(shù)據庫而建立的操 作命令集,是高級的非過程化編程語言,允許用戶在高層數(shù)據結構上工 作。其不要求用戶指定對數(shù)據的存放方法,也不需要用戶了解具體的數(shù) 據存放方式,所以具有完全不同底層結構的不同數(shù)據庫系統(tǒng)可以使用相 同的SQL語言作為數(shù)據輸入與管理的接口。由于SQL語言屬于本領域的 7>知4支術,在此不再詳述。對于生成SQL語句的過程,也屬于本領域的常用才支術。例如,本領 域技術人員經常會通過O-RMapping框架技術生成SQL語句。ORM,即 Object-Relation Mapping,它的作用是在關系型數(shù)據庫和對象之間作一個 映射,這樣,技術人員在具體的操作數(shù)據庫的時候,就不需要再去和復 雜的SQL語句打交道,只要像平時操作對象一樣操作它就可以了。例如, 利用O/R Mapping保存、刪除或者讀取對象,而由O/R Mapping負責生 成SQL語句即可。下面以 一 個具體例子對本發(fā)明進行更進 一 步的描述。 假設用戶需要查詢"金額">100的訂單信息,應用本發(fā)明優(yōu)選實施例 的步驟包括Sl、在圖3所示的數(shù)據庫表中確定訂單信息的查詢主鍵,即表中的FID;52、 根據用戶設置的查詢條件"金額">100提取滿足條件的查詢主 鍵,用查詢語句可以表示為 'select FID From order Where amount>10053、 將通過上述主鍵查詢獲得的主鍵形成查詢主鍵列表,保存至緩存中;54、 根據查詢主鍵的數(shù)量生成分頁規(guī)則,即建立某個頁面標識與相 應的主鍵范圍的對應關系,例如,根據頁面展示記錄的數(shù)量計算出總頁 數(shù),假設一頁可以展示100條記錄,則形成頁面1對應第1—100條主鍵 記錄,頁面2對應第101—200條主4建記錄等等,還可以設置在當前記錄 少于預設展示記錄時,即假設在分到頁面3時,只剩201—288條主鍵記 錄,直接取所有剩余的主鍵記錄。55、 依據用戶指定的頁面標識提取相應范圍的查詢主4建,以生成查 詢語句;例如,用戶指定提取頁面1的數(shù)據,則從查詢主鍵列表中取出1到 100的主鍵,構造出實際需要的字段的查詢,即可以通過訂單中所有字段 的信息得到本次查詢的查詢語句為select * from order Where id IN(l, 2, ...., 100);56、 執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集,并在當 前頁面展示。本例的展示結果可以參考圖4所示的界面示意圖。針對用戶進一步地頁面選取操作,從主鍵列表中取得相應頁面對應 的主鍵范圍,再構建出查詢語句,例如,用戶選擇查詢第3頁的數(shù)據, 從主鍵列表中取得主鍵為(500, 511.....),則相應的查詢語句可以為select * from order Where id In(500, 511….)再根據這個查詢語句得到的查詢結果進行顯示。對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列 的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動 作順序的限制,因為依據本發(fā)明,某些步驟可以采用其他順序或者同時 進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。參考圖5,示出了本發(fā)明的一種數(shù)據查詢系統(tǒng)實施例的結構框圖,可 以包括以下模塊主鍵定義模塊501,用于在數(shù)據源中定義查詢主鍵;主鍵提取模塊502,用于從所述查詢主鍵中提取滿足查詢條件的查詢 主鍵,以創(chuàng)建查詢主鍵列表;分頁模塊503,用于生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī) 則包括頁面標識及對應的查詢主^t建范圍;語句生成模塊504 ,用于依據用戶指定的頁面標識提取相應范圍的查 詢主4定,以生成查詢i吾句;執(zhí)行模塊505,用于執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結 果集。優(yōu)選的是,本實施例還可以包括展示模塊,用于在當前頁面展示所 述數(shù)據結果集。優(yōu)選的是,本實施例還可以包括緩存模塊,用于保存所述查詢主鍵 列表至客戶端緩存中。在實際中,所述數(shù)據源可以為位于服務器端或客戶端的數(shù)據庫;所 述查詢語句為SQL查詢語句。在上述實施例中,對各個實施例的描述都各有側重,某個實施例中 沒有詳述的部分,可以參見其他實施例的相關描述。對于系統(tǒng)類實施例 而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處 參見方法實施例的部分說明即可。以上對本發(fā)明所提供的 一 種數(shù)據查詢的方法和系統(tǒng)進行了詳細介上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時, 對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式
      及應 用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā) 明的限制。
      權利要求
      1、一種數(shù)據查詢方法,其特征在于,包括在數(shù)據源中定義查詢主鍵;從所述查詢主鍵中提取滿足查詢條件的查詢主鍵,以創(chuàng)建查詢主鍵列表;生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包括頁面標識及對應的查詢主鍵范圍;依據用戶指定的頁面標識提取相應范圍的查詢主鍵,以生成查詢語句;執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集。
      2、 如權利要求l所述的方法,其特征在于,還包括 在當前頁面展示所述數(shù)據結果集。
      3、 如權利要求1或2所述的方法,其特征在于,還包括 保存所述查詢主鍵列表至客戶端緩存中。
      4、 如權利要求3所述的方法,其特征在于,所述數(shù)據源為位于服務 器端或客戶端的數(shù)據庫。
      5、 如權利要求4所述的方法,其特征在于,所述查詢語句為SQL查 詢語句。
      6、 一種數(shù)據查詢系統(tǒng),其特征在于,包括 主鍵定義模塊,用于在數(shù)據源中定義查詢主鍵; 主鍵提取模塊,用于從所述查詢主鍵中提取滿足查詢條件的查詢主4建,以創(chuàng)建查詢主4建列表;分頁模塊,用于生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包 括頁面標識及對應的查詢主^t范圍;語句生成模塊,用于依據用戶指定的頁面標識提取相應范圍的查詢主 4建,以生成查詢i吾句;執(zhí)行模塊,用于執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集。
      7、 如權利要求6所述的系統(tǒng),其特征在于,還包括 展示模塊,用于在當前頁面展示所述數(shù)據結果集。
      8、 如權利要求6或7所述的系統(tǒng),其特征在于,還包括 緩存模塊,用于保存所述查詢主鍵列表至客戶端緩存中。
      9、 如權利要求8所述的系統(tǒng),其特征在于,所述數(shù)據源為位于服務 器端或客戶端的數(shù)據庫。
      10、 如權利要求9所述的系統(tǒng),其特征在于,所述查詢語句為SQL 查詢語句。
      全文摘要
      本發(fā)明提供了一種數(shù)據查詢的方法,包括在數(shù)據源中定義查詢主鍵;從所述查詢主鍵中提取滿足查詢條件的查詢主鍵,以創(chuàng)建查詢主鍵列表;生成所述查詢主鍵列表的分頁規(guī)則,所述分頁規(guī)則包括頁面標識及對應的查詢主鍵范圍;依據用戶指定的頁面標識提取相應范圍的查詢主鍵,以生成查詢語句;執(zhí)行所述查詢語句,完成數(shù)據查詢,返回數(shù)據結果集。本發(fā)明可以在節(jié)省資源占用的前提下,簡單、有效地提高數(shù)據查詢效率。
      文檔編號G06F17/30GK101216840SQ20081000432
      公開日2008年7月9日 申請日期2008年1月21日 優(yōu)先權日2008年1月21日
      發(fā)明者李家才 申請人:金蝶軟件(中國)有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1