国产精品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ù)據(jù)庫表查詢方法和裝置的制作方法

      文檔序號(hào):6402873閱讀:201來源:國知局
      專利名稱:數(shù)據(jù)庫表查詢方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明實(shí)施例涉及數(shù)據(jù)庫領(lǐng)域,尤其涉及一種數(shù)據(jù)庫表查詢方法和裝置。
      背景技術(shù)
      數(shù)據(jù)庫表是一系列二維數(shù)組的集合,由縱向的列和橫向的行組成。列由同類的信息組成,每列又稱為一個(gè)字段,每列的標(biāo)題稱為字段名;行包括了若干列信息項(xiàng),一行數(shù)據(jù)稱為一個(gè)或一條記錄。在數(shù)據(jù)庫表中,在對數(shù)據(jù)庫表中的記錄進(jìn)行包括查詢、修改和刪除在內(nèi)的各種操作之前,要獲取數(shù)據(jù)庫表中需要進(jìn)行操作的記錄。現(xiàn)有技術(shù)首先利用數(shù)據(jù)庫表索引確定數(shù)據(jù)庫表中需進(jìn)行查詢的存儲(chǔ)區(qū)域,然后將所確定的需要進(jìn)行查詢的存儲(chǔ)區(qū)域加載到內(nèi)存中進(jìn)行查詢,進(jìn)而從該存儲(chǔ)區(qū)域所包含的記錄中獲取需要進(jìn)行操作的記錄。上述數(shù)據(jù)庫表索引主要用于存儲(chǔ)數(shù)據(jù)庫表中每個(gè)存儲(chǔ)區(qū)域所包含的記錄在指定列上的最大值和最小值。由于數(shù)據(jù)庫表索引僅存儲(chǔ)有每個(gè)存儲(chǔ)區(qū)域所包含的記錄在指定列上的最大值和最小值,僅能滿足用戶已知需要進(jìn)行操作的記錄在所述指定列上的取值時(shí)的查詢需求,數(shù)據(jù)庫表查詢的靈活性較差。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫表查詢方法和裝置,用于提高數(shù)據(jù)庫表查詢的靈活性。第一個(gè)方面是提供一種數(shù)據(jù)庫表查詢方法,包括:接收查詢條件;所述查詢條件包括查詢函數(shù)以及目標(biāo)索引值;所述查詢函數(shù)用于計(jì)算數(shù)據(jù)庫表中包含的 記錄的索引值;所述目標(biāo)索引值為待操作記錄的索引值;查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域;每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引用于指示該存儲(chǔ)區(qū)域中的記錄的索引值的取值范圍;利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算,以得到所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值;若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,存在與所述目標(biāo)索引值相同的索引值,則對與所述目標(biāo)索引值相同的索引值對應(yīng)的記錄進(jìn)行操作。在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域,包括:將所述目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較,獲取指示的取值范圍包括所述目標(biāo)索引值的區(qū)域索引,將所獲取的區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域作為所述待查詢存儲(chǔ)區(qū)域。結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述將所述目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較之前,還包括:利用所述查詢函數(shù)計(jì)算每個(gè)所述存儲(chǔ)區(qū)域中的記錄的索引值,并根據(jù)計(jì)算出的索引值生成每個(gè)所述存儲(chǔ)區(qū)域?qū)?yīng)的區(qū)域索引。在第一方面的第三種可能的實(shí)現(xiàn)方式中,在所述對所述待查詢存儲(chǔ)區(qū)域中所述目標(biāo)索引值對應(yīng)的記錄進(jìn)行操作之后,還包括:若所述操作為修改或刪除,則將所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引刪除。在第一方面的第四種可能的實(shí)現(xiàn)方式中,若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,不存在與所述目標(biāo)索引值相同的索引值,則根據(jù)計(jì)算獲得的所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值更新所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引。結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式、第一方面的第二種可能的實(shí)現(xiàn)方式、第一方面的第三種可能的實(shí)現(xiàn)方式和第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,在所述利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算之前,還包括:將所述待查詢存儲(chǔ)區(qū)域加載到內(nèi)存中;所述利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算包括:利用所述查詢函數(shù)對加載到內(nèi)存中的所述待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,獲得所述待查詢存儲(chǔ)區(qū)域中的記錄的索引值。結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式、第一方面的第二種可能的實(shí)現(xiàn)方式、第一方面的第三種可能的實(shí)現(xiàn)方式和第一方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,每個(gè)所述存儲(chǔ)區(qū)域?yàn)閿?shù)據(jù)頁。結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式、第一方面的第二種可能的實(shí)現(xiàn)方式、第一方面的第三種可能的實(shí)現(xiàn)方式和第一方面的第四種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引包括該存儲(chǔ)區(qū)域中的記錄的索引值中的最大值和最小值;或者包括所述存儲(chǔ)區(qū)域中的記錄的索引值中的真值;或者包括該存儲(chǔ)區(qū)域中的記錄的索引值中 的假值。第二個(gè)方面是提供一種數(shù)據(jù)庫表查詢裝置,包括:接收模塊,用于接收查詢條件;所述查詢條件包括查詢函數(shù)以及目標(biāo)索引值;所述查詢函數(shù)用于計(jì)算數(shù)據(jù)庫表中包含的記錄的索引值;所述目標(biāo)索引值為待操作記錄的索引值;確定模塊,用于查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域;每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引用于指示該存儲(chǔ)區(qū)域中的記錄的索引值的取值范圍;計(jì)算模塊,用于利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算,以得到所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值;操作處理模塊,用于若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,存在與所述目標(biāo)索引值相同的索引值,則對與所述目標(biāo)索引值相同的索引值對應(yīng)的記錄進(jìn)行操作。在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述確定模塊,包括:比較單元,用于將所述目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較,獲取指示的取值范圍包括所述目標(biāo)索引值的區(qū)域索引,將所獲取的區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域作為所述待查詢存儲(chǔ)區(qū)域。結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述確定模塊,還包括:生成單元,用于利用所述查詢函數(shù)計(jì)算每個(gè)所述存儲(chǔ)區(qū)域中的記錄的索引值,并根據(jù)計(jì)算出的索引值生成每個(gè)所述存儲(chǔ)區(qū)域?qū)?yīng)的區(qū)域索引。在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述裝置還包括:刪除模塊,用于若所述操作為修改或刪除,則將所述待查詢存儲(chǔ)區(qū)域所對應(yīng)的區(qū)域索引刪除。在第二方面第四種可能的實(shí)現(xiàn)方式中,所述裝置還包括:更新模塊,用于若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,不存在與所述目標(biāo)索引值相同的索引值,則根據(jù)計(jì)算獲得的所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值更新所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引。結(jié)合第二方面、第二方面的第一種可能的實(shí)現(xiàn)方式、第二方面的第二種可能的實(shí)現(xiàn)方式、第二方面的第三種可能的實(shí)現(xiàn)方式和第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述裝置,還包括:加載模塊,用于將所述待查詢存儲(chǔ)區(qū)域加載到內(nèi)存中;所述計(jì)算模塊,具體用于利用所述查詢函數(shù)對加載到內(nèi)存中的所述待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,獲得所述待查詢存儲(chǔ)區(qū)域中的記錄的索引值。結(jié)合第二方面、第二方面的第一種可能的實(shí)現(xiàn)方式、第二方面的第二種可能的實(shí)現(xiàn)方式、第二方面的第三種可能的實(shí)現(xiàn)方式和第二方面的第四種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,每個(gè)所述存儲(chǔ)區(qū)域?yàn)閿?shù)據(jù)頁。。結(jié)合第二方面、第二方面的第一種可能的實(shí)現(xiàn)方式、第二方面的第二種可能的實(shí)現(xiàn)方式、第二方面的第三種可能的實(shí)現(xiàn)方式和第二方面的第四種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引包括該存儲(chǔ)區(qū)域中的記錄的索引值中的最大值和最小值;或者包括所述存儲(chǔ)區(qū)域中的記錄的索引值中的真值;或者包括該存儲(chǔ)區(qū)域中的記錄的索引值中的假值。本發(fā)明實(shí)施例提供的數(shù)據(jù)庫表查詢方法,通過根據(jù)查詢條件中的目標(biāo)索引值,查詢根據(jù)查詢條件中的查詢函數(shù)對記錄進(jìn)行計(jì)算獲得的索引值生成的區(qū)域索引,從而確定待查詢存儲(chǔ)區(qū)域,再利用查詢條件中的查詢函數(shù)對待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,進(jìn)而獲得待查詢存儲(chǔ)區(qū)域中的記錄的索引值,以對待查詢存儲(chǔ)區(qū)域中的目標(biāo)索引值對應(yīng)的記錄進(jìn)行操作,不需要用戶預(yù)先獲知進(jìn)行操作的記錄在指定列上的取值,擴(kuò)大了區(qū)域索引的適用范圍,由于利用查詢條件中的查詢函數(shù)生成區(qū)域索引,使得區(qū)域索引與用戶定義的查詢條件相適應(yīng),增強(qiáng)了區(qū)域索引的使用靈活性。


      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一實(shí)施例提供的數(shù)據(jù)庫表查詢方法流程示意
      圖2為本發(fā)明另一實(shí)施例提供的數(shù)據(jù)庫表查詢方法流程示意圖3為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)庫表查詢裝置結(jié)構(gòu)示意圖;圖4為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)庫表查詢裝置結(jié)構(gòu)示意圖;圖5為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)庫表查詢裝置結(jié)構(gòu)示意圖。
      具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明一實(shí)施例提供的數(shù)據(jù)庫表查詢方法流程示意圖,如圖1所示,本實(shí)施例可以包括:101、接收查詢條件。其中,查詢條件包括查詢函數(shù)以及目標(biāo)索引值;所述查詢函數(shù)用于計(jì)算數(shù)據(jù)庫表中包含的記錄的索引值;所述目標(biāo)索引值為待操作記錄的索引值。102、查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域。其中,每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引用于指示該存儲(chǔ)區(qū)域中的記錄的索引值的取值范圍,可為:該存儲(chǔ)區(qū)域中的記錄的索引值中的最大值和最小值;或者包括所述存儲(chǔ)區(qū)域中的記錄的索引值中的真值;或者包括該存儲(chǔ)區(qū)域中的記錄的索引值中的假值。每個(gè)所述存儲(chǔ)區(qū)域?yàn)閿?shù)據(jù)頁。利用所述查詢函數(shù)計(jì)算每個(gè)所述存儲(chǔ)區(qū)域中的記錄的索引值,并根據(jù)計(jì)算出的索引值生成每個(gè)所述存儲(chǔ)區(qū)域?qū)?yīng)的區(qū)域索引。將目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較,獲取指示的取值范圍包括所述目標(biāo)索引值的區(qū)域索引,將所獲取的區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域作為所述待查詢存儲(chǔ)區(qū)域。本實(shí)施例中,利用區(qū)域索引確定待查詢存儲(chǔ)區(qū)域,可以實(shí)現(xiàn)過濾掉不必進(jìn)行計(jì)算的存儲(chǔ)區(qū)域,加快數(shù)據(jù)庫表查詢的速度。需要說明的是,上述真值表示利用查詢函數(shù)對記錄進(jìn)行計(jì)算所獲得的索引值為非零;上述假值表示利用查詢函數(shù)對記錄進(jìn)行計(jì)算所獲得的索引值為零。103、利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算,以得到所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值。若待查詢存儲(chǔ)區(qū)域不存在于內(nèi)存中,將待查詢存儲(chǔ)區(qū)域加載到內(nèi)存中。利用所述查詢函數(shù)對加載到內(nèi)存中的所述待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,獲得所述待查詢存儲(chǔ)區(qū)域中的記錄的索引值。104、若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,存在與所述目標(biāo)索引值相同的索引值,則對與所述目標(biāo)索引值相同的索引值對應(yīng)的記錄進(jìn)行操作。若上述待查詢存儲(chǔ)區(qū)域中的記錄的索引值中,存在上述目標(biāo)索引值,對上述待查詢存儲(chǔ)區(qū)域中上述目標(biāo)索引值對應(yīng)的記錄進(jìn)行操作。進(jìn)一步,若104中的操作為修改或刪除, 則將上述待查詢存儲(chǔ)區(qū)域所對應(yīng)的區(qū)域索引刪除。
      進(jìn)一步,若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,不存在與所述目標(biāo)索引值相同的索引值,則根據(jù)計(jì)算獲得的所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值更新所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引。需要說明的是,區(qū)域索引存儲(chǔ)于內(nèi)存中,不持久化到磁盤,若數(shù)據(jù)庫實(shí)例重啟動(dòng),則區(qū)域索引丟失。本實(shí)施例中,利用查詢條件提供的目標(biāo)索引值和各存儲(chǔ)區(qū)域的區(qū)域索引,確定待查詢存儲(chǔ)區(qū)域從而實(shí)現(xiàn)過濾掉不必進(jìn)行計(jì)算的存儲(chǔ)區(qū)域的方式,同樣適用于類似的需要進(jìn)行過濾的場景。本實(shí)施例中,通過根據(jù)查詢條件中的目標(biāo)索引值,查詢根據(jù)查詢條件中的查詢函數(shù)對記錄進(jìn)行計(jì)算獲得的索引值在各個(gè)存儲(chǔ)區(qū)域中的取值范圍生成的區(qū)域索引,從而確定待查詢存儲(chǔ)區(qū)域,再利用查詢條件中的查詢函數(shù)對待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,進(jìn)而獲得待查詢存儲(chǔ)區(qū)域中的記錄的索引值,以對待查詢存儲(chǔ)區(qū)域中的目標(biāo)索引值對應(yīng)的記錄進(jìn)行操作,不需要用戶預(yù)先獲知進(jìn)行操作的記錄在指定列上的取值,擴(kuò)大了區(qū)域索引的適用范圍,由于根據(jù)查詢條件中的查詢函數(shù)生成區(qū)域索引,使得區(qū)域索引與用戶定義的查詢條件相適應(yīng),增強(qiáng)了區(qū)域索引的使用靈活性。圖2為本發(fā)明另一實(shí)施例提供的數(shù)據(jù)庫表查詢方法流程示意圖,如圖2所示,本實(shí)施例可以包括:201、生成區(qū)域索引。其中,區(qū)域索引用于指示區(qū)域索引所對應(yīng)存儲(chǔ)區(qū)域中的記錄的索引值的取值范圍。將需生成區(qū)域索引的存儲(chǔ)區(qū)域加載到內(nèi)存中,利用查詢函數(shù)對上述存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,獲得上述存儲(chǔ)區(qū)域中的記錄的索引值;根據(jù)上述索引值的數(shù)據(jù)類型,生成區(qū)域索引。若上述索引值的數(shù)據(jù)類型為整型,生成用于指示上述索引值在上述區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域中的最大值和最小值的區(qū)域索引;若上述索引值的數(shù)據(jù)類型為布爾型,生成用于指示上述索引值在上述區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域中是否存在真值,或者生成用于指示上述索引值在上述區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域中是否存在假值的區(qū)域索引。例如:對于如下表I所示的名為“merchants”數(shù)據(jù)庫表,生成區(qū)域索引。表I
      權(quán)利要求
      1.一種數(shù)據(jù)庫表查詢方法,其特征在于,包括: 接收查詢條件;所述查詢條件包括查詢函數(shù)以及目標(biāo)索引值;所述查詢函數(shù)用于計(jì)算數(shù)據(jù)庫表中包含的記錄的索引值;所述目標(biāo)索引值為待操作記錄的索引值; 查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域;每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引用于指示該存儲(chǔ)區(qū)域中的記錄的索引值的取值范圍; 利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算,以得到所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值; 若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,存在與所述目標(biāo)索引值相同的索引值,則對與所述目標(biāo)索引值相同 的索引值對應(yīng)的記錄進(jìn)行操作。
      2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫表查詢方法,其特征在于,所述查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域,包括: 將所述目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較,獲取指示的取值范圍包括所述目標(biāo)索引值的區(qū)域索引,將所獲取的區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域作為所述待查詢存儲(chǔ)區(qū)域。
      3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)庫表查詢方法,其特征在于,所述將所述目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較之前,還包括: 利用所述查詢函數(shù)計(jì)算每個(gè)所述存儲(chǔ)區(qū)域中的記錄的索引值,并根據(jù)計(jì)算出的索引值生成每個(gè)所述存儲(chǔ)區(qū)域?qū)?yīng)的區(qū)域索引。
      4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫表查詢方法,其特征在于,在所述對所述待查詢存儲(chǔ)區(qū)域中所述目標(biāo)索引值對應(yīng)的記錄進(jìn)行操作之后,還包括: 若所述操作為修改或刪除,則將所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引刪除。
      5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫表查詢方法,其特征在于,還包括: 若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,不存在與所述目標(biāo)索引值相同的索引值,則根據(jù)計(jì)算獲得的所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值更新所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引。
      6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的數(shù)據(jù)庫表查詢方法,其特征在于,在所述利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算之前,還包括: 將所述待查詢存儲(chǔ)區(qū)域加載到內(nèi)存中; 所述利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算包括:利用所述查詢函數(shù)對加載到內(nèi)存中的所述待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,獲得所述待查詢存儲(chǔ)區(qū)域中的記錄的索引值。
      7.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的數(shù)據(jù)庫表查詢方法,其特征在于,每個(gè)所述存儲(chǔ)區(qū)域?yàn)閿?shù)據(jù)頁。
      8.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的數(shù)據(jù)庫表查詢方法,其特征在于,每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引包括該存儲(chǔ)區(qū)域中的記錄的索引值中的最大值和最小值;或者包括所述存儲(chǔ)區(qū)域中的記錄的索引值中的真值;或者包括該存儲(chǔ)區(qū)域中的記錄的索引值中的假值。
      9.一種數(shù)據(jù)庫表查詢裝置,其特征在于,包括:接收模塊,用于接收查詢條件;所述查詢條件包括查詢函數(shù)以及目標(biāo)索引值;所述查詢函數(shù)用于計(jì)算數(shù)據(jù)庫表中包含的記錄的索引值;所述目標(biāo)索引值為待操作記錄的索引值; 確定模塊,用于查詢所述數(shù)據(jù)庫表中各個(gè)存儲(chǔ)區(qū)域的區(qū)域索引,根據(jù)所述目標(biāo)索引值和查詢到的區(qū)域索引確定待查詢存儲(chǔ)區(qū)域;每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引用于指示該存儲(chǔ)區(qū)域中的記錄的索引值的取值范圍; 計(jì)算模塊,用于利用所述查詢函數(shù)分別對所述待查詢存儲(chǔ)區(qū)域中的每個(gè)記錄進(jìn)行計(jì)算,以得到所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值; 操作處理模塊,用于若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,存在與所述目標(biāo)索引值相同的索引值,則對與所述目標(biāo)索引值相同的索引值對應(yīng)的記錄進(jìn)行操作。
      10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)庫表查詢裝置,其特征在于,所述確定模塊,包括: 比較單元,用于將所述目標(biāo)索引值分別與每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引指示的取值范圍進(jìn)行比較,獲取指示的取值范圍包括所述目標(biāo)索引值的區(qū)域索引,將所獲取的區(qū)域索引所對應(yīng)的存儲(chǔ)區(qū)域作為所述待查詢存儲(chǔ)區(qū)域。
      11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)庫表查詢裝置,其特征在于,所述確定模塊,還包括: 生成單元,用于利用所述查詢函數(shù)計(jì)算每個(gè)所述存儲(chǔ)區(qū)域中的記錄的索引值,并根據(jù) 計(jì)算出的索引值生成 每個(gè)所述存儲(chǔ)區(qū)域?qū)?yīng)的區(qū)域索引。
      12.根據(jù)權(quán)利要求9所述的數(shù)據(jù)庫表查詢裝置,其特征在于,所述裝置還包括: 刪除模塊,用于若所述操作為修改或刪除,則將所述待查詢存儲(chǔ)區(qū)域所對應(yīng)的區(qū)域索引刪除。
      13.根據(jù)權(quán)利要求9所述的數(shù)據(jù)庫表查詢裝置,其特征在于,所述裝置還包括: 更新模塊,用于若所述待查詢存儲(chǔ)區(qū)域中的所有記錄的索引值中,不存在與所述目標(biāo)索引值相同的索引值,則根據(jù)計(jì)算獲得的所述待查詢存儲(chǔ)區(qū)域中的各個(gè)記錄的索引值更新所述待查詢存儲(chǔ)區(qū)域的區(qū)域索引。
      14.根據(jù)權(quán)利要求9-13任一項(xiàng)所述的數(shù)據(jù)庫表查詢裝置,其特征在于,所述裝置,還包括: 加載模塊,用于將所述待查詢存儲(chǔ)區(qū)域加載到內(nèi)存中; 所述計(jì)算模塊,具體用于利用所述查詢函數(shù)對加載到內(nèi)存中的所述待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,獲得所述待查詢存儲(chǔ)區(qū)域中的記錄的索引值。
      15.根據(jù)權(quán)利要求9-13任一項(xiàng)所述的數(shù)據(jù)庫表查詢裝置,其特征在于,每個(gè)所述存儲(chǔ)區(qū)域?yàn)閿?shù)據(jù)頁。
      16.根據(jù)權(quán)利要求9-13任一項(xiàng)所述的數(shù)據(jù)庫表查詢裝置,其特征在于,每個(gè)所述存儲(chǔ)區(qū)域的區(qū)域索引包括該存儲(chǔ)區(qū)域中的記錄的索引值中的最大值和最小值;或者包括所述存儲(chǔ)區(qū)域中的記錄的索引值中的真值;或者包括該存儲(chǔ)區(qū)域中的記錄的索引值中的假值。
      全文摘要
      本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫表查詢方法和裝置,通過根據(jù)查詢條件中的目標(biāo)索引值,查詢根據(jù)查詢條件中的查詢函數(shù)對記錄進(jìn)行計(jì)算獲得的索引值生成的區(qū)域索引,從而確定待查詢存儲(chǔ)區(qū)域,再利用查詢條件中的查詢函數(shù)對待查詢存儲(chǔ)區(qū)域中的記錄進(jìn)行計(jì)算,進(jìn)而獲得待查詢存儲(chǔ)區(qū)域中的記錄的索引值,以對待查詢存儲(chǔ)區(qū)域中的目標(biāo)索引值對應(yīng)的記錄進(jìn)行操作,不需要用戶預(yù)先獲知進(jìn)行操作的記錄在指定列上的取值,擴(kuò)大了區(qū)域索引的適用范圍,由于利用查詢條件中的查詢函數(shù)生成區(qū)域索引,使得區(qū)域索引與用戶定義的查詢條件相適應(yīng),增強(qiáng)了區(qū)域索引的使用靈活性。
      文檔編號(hào)G06F17/30GK103226610SQ20131016457
      公開日2013年7月31日 申請日期2013年5月7日 優(yōu)先權(quán)日2013年5月7日
      發(fā)明者杜培亮, 孫東旺, 劉輝軍 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1