一種數(shù)據(jù)庫主存索引方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)庫主存索引方法,屬于計(jì)算機(jī)數(shù)據(jù)庫高效查詢【技術(shù)領(lǐng)域】。本發(fā)明采用內(nèi)存映射方式導(dǎo)入和導(dǎo)出索引文件,替代傳統(tǒng)文件讀寫方式,提高訪問效率。在映射區(qū)域首地址創(chuàng)建索引頭,存儲索引基本信息,同時(shí)支持多種高效的聚集操作。在映射內(nèi)存中根據(jù)數(shù)據(jù)表讀入索引記錄創(chuàng)建索引樹,該索引樹針對B樹索引的缺點(diǎn)進(jìn)行改進(jìn),能夠高效地支持重復(fù)鍵,降低存儲空間和樹的復(fù)雜度。隨著索引記錄的增長,預(yù)定大小的文件會出現(xiàn)溢出危險(xiǎn),本發(fā)明能有效地對索引文件進(jìn)行擴(kuò)容,保證能容納索引記錄而不浪費(fèi)存儲空間。
【專利說明】一種數(shù)據(jù)庫主存索引方法
[0001]【技術(shù)領(lǐng)域】
本發(fā)明涉及一種數(shù)據(jù)庫主存索引方法,屬于計(jì)算機(jī)數(shù)據(jù)庫高效查詢【技術(shù)領(lǐng)域】。
[0002]【背景技術(shù)】
隨著主存技術(shù)的發(fā)展,主存的容量越來越大,越來越多的系統(tǒng)是基于主存的,如主存數(shù)據(jù)庫,即將基于磁盤的傳統(tǒng)數(shù)據(jù)庫搬進(jìn)了內(nèi)存中,明顯地提高了系統(tǒng)性能。在數(shù)據(jù)庫中,為了提高查詢效率,往往在數(shù)據(jù)表中的某一主鍵上創(chuàng)建索引,生成索引文件,將鍵值直接映射到存儲地址,查詢則是根據(jù)關(guān)鍵字,查詢到對應(yīng)的存儲地址后直接訪問磁盤并讀出字段,這樣能明顯地提高查詢效率。
[0003]在傳統(tǒng)索引方式中,往往采用頻繁的文件讀寫操作來將索引文件讀入內(nèi)存,這會耗費(fèi)大量的I/o時(shí)間,同時(shí)不能保證讀入內(nèi)存索引的完整性,因此影響到索引查詢的穩(wěn)定性能。當(dāng)對表中的數(shù)據(jù)進(jìn)行修改、增加和刪除時(shí),索引需要維護(hù),傳統(tǒng)的索引由于需要頻繁訪問磁盤文件而難以維護(hù),這樣也就降低了數(shù)據(jù)表的維護(hù)性能。
[0004]隨著信息時(shí)代的發(fā)展,數(shù)據(jù)庫表存儲的數(shù)據(jù)量越來越大,對于這樣的大文件進(jìn)行操作,采用傳統(tǒng)文件操作方式創(chuàng)建索引效率將非常低,而內(nèi)存映射技術(shù)能有效地節(jié)約時(shí)間。內(nèi)存映射是指將一個(gè)文件映射到內(nèi)存中,進(jìn)程可以像訪問內(nèi)存一樣訪問文件,而不必調(diào)用傳統(tǒng)的文件讀寫函數(shù)。由于在映射前,都要預(yù)先設(shè)置映射文件大小,這樣當(dāng)不斷有新紀(jì)錄插入時(shí),會造成文件溢出,此時(shí)必須對索引文件擴(kuò)容以保證能容納所有記錄同時(shí)不浪費(fèi)內(nèi)存空間。由于每次映射都是一段連續(xù)的地址,采用操作系統(tǒng)的內(nèi)存分配方法顯然是不適用的,因此在映射內(nèi)存上創(chuàng)建索引樹時(shí),需要一套高效的內(nèi)存管理機(jī)制。
[0005]常見的索引機(jī)制有hash索引、B樹索引等,其中hash索引效率高,但是由于其獨(dú)有特性不支持高效率范圍查詢,同時(shí)不能進(jìn)行排序,因此未得到廣泛應(yīng)用。而B樹索引因?yàn)槠浞€(wěn)定性高、支持范圍查詢和排序等特點(diǎn)而得到廣泛應(yīng)用。傳統(tǒng)索引方式往往采取多次訪問文件的方式進(jìn)行查詢,B樹索引利用索引結(jié)構(gòu)層數(shù)小的特征,使得訪問文件的次數(shù)相對較少。
[0006]
【發(fā)明內(nèi)容】
為了進(jìn)一步降低訪問磁盤文件的次數(shù)和讀寫時(shí)間,本發(fā)明在B+樹的基礎(chǔ)上提出了一種數(shù)據(jù)庫主存索引方法。本發(fā)明的目的在于降低數(shù)據(jù)庫查詢中索引文件讀入內(nèi)存的時(shí)間,并且進(jìn)一步降低索引檢索的時(shí)間和索引結(jié)構(gòu)的存儲空間,以實(shí)現(xiàn)更高效的數(shù)據(jù)庫主存索引技術(shù)。
[0007]本發(fā)明為解決其技術(shù)問題采用如下技術(shù)方案:
一種數(shù)據(jù)庫主存索引方法,包括如下步驟:
(1)啟動數(shù)據(jù)庫系統(tǒng)為某張數(shù)據(jù)表的主鍵創(chuàng)建索引時(shí),首先采用內(nèi)存映射方式將新建的索引文件映射到內(nèi)存中,在映射內(nèi)存區(qū)域的首地址上創(chuàng)建索引頭結(jié)構(gòu)體;
(2)創(chuàng)建索引頭結(jié)構(gòu)體后,根據(jù)數(shù)據(jù)表讀入索引鍵值記錄,在該映射區(qū)域創(chuàng)建索引結(jié)構(gòu),將索引數(shù)據(jù)同步刷新到索弓I文件中;對內(nèi)存區(qū)域的索引結(jié)構(gòu)進(jìn)行維護(hù)操作時(shí),需動態(tài)更新索引頭信息; (3)退出數(shù)據(jù)庫系統(tǒng)時(shí),解除內(nèi)存映射,即可實(shí)現(xiàn)在外設(shè)磁盤上保存索引結(jié)構(gòu);當(dāng)重啟系統(tǒng)進(jìn)行查詢時(shí)再將索引文件映射入內(nèi)存,直接將完整的索引結(jié)構(gòu)導(dǎo)入內(nèi)存中,實(shí)現(xiàn)索引結(jié)構(gòu)的高效率導(dǎo)入和導(dǎo)出。
[0008]在對內(nèi)存區(qū)域的索引結(jié)構(gòu)進(jìn)行維護(hù)操作,包括:
分配和釋放內(nèi)存時(shí),采用鏈?zhǔn)絻?nèi)存管理機(jī)制,將所有空閑塊用鏈表的形式串起來,當(dāng)為索引記錄申請內(nèi)存空間時(shí),需要利用索引頭中指向空閑塊的指針,它指向空閑塊鏈表的首節(jié)點(diǎn),該空閑鏈表的尾節(jié)點(diǎn)則位于偏移量對應(yīng)的位置;分配內(nèi)存時(shí),根據(jù)next遍歷空閑塊鏈表直到找到能容納申請大小的空閑塊,更新空閑塊鏈表當(dāng)釋放空間時(shí),初始化該塊并遍歷鏈表,找到對應(yīng)的位置并插入,觀察是否和其他塊相鄰,若相鄰則合并。
[0009]在申請內(nèi)存空間時(shí),還包括:
隨著索引記錄的插入,出現(xiàn)預(yù)設(shè)的文件大小不足的情況,在索引頭中設(shè)置一閾值,當(dāng)文件未分配區(qū)域占文件的比例小于該閾值時(shí),斷開映射,根據(jù)擴(kuò)容次數(shù)對索引文件擴(kuò)容,當(dāng)擴(kuò)容次數(shù)越大時(shí),每次擴(kuò)容比例就越大,擴(kuò)容次數(shù)到一定次數(shù)時(shí),設(shè)為定值;待擴(kuò)容完成后,將擴(kuò)容后的索引文件重新映射入內(nèi)存。
[0010]一種數(shù)據(jù)庫主存索引方法,包括以下步驟:
除支持唯一索引外,對于重復(fù)率較高的鍵值創(chuàng)建索引的情況,結(jié)合hash和B樹的特點(diǎn),采用一種改進(jìn)的B樹索引結(jié)構(gòu)以支持重復(fù)鍵,該索引結(jié)構(gòu)采用鏈表存儲重復(fù)鍵對應(yīng)的行標(biāo)示符;
進(jìn)行維護(hù)操作時(shí),首先要找到相關(guān)節(jié)點(diǎn)對應(yīng)的葉子節(jié)點(diǎn),插入時(shí)先檢查葉子節(jié)點(diǎn)是否存在該鍵值,若不存在,申請內(nèi)存將該節(jié)點(diǎn)插入到該索引樹中;若存在則將節(jié)點(diǎn)的行標(biāo)示符插入到該鍵值對應(yīng)的鏈表中,刪除時(shí),先刪除鍵值對應(yīng)鏈表中的行標(biāo)示符記錄,再檢查該鏈表是否為空,若為空則將該鍵值從索弓I樹中刪除并釋放空間;查詢和修改都是在葉子節(jié)點(diǎn)中找到相應(yīng)鍵,在對應(yīng)的鏈表中查找和修改記錄。
[0011]本發(fā)明的有益效果如下:
明顯降低索引文件讀入內(nèi)存和寫回的時(shí)間,減少訪問索引文件的次數(shù),實(shí)現(xiàn)高效的索引結(jié)構(gòu)導(dǎo)入和導(dǎo)出,有效地利用存儲空間,支持重復(fù)鍵,在索引記錄不斷增長時(shí)可以動態(tài)的對索引文件擴(kuò)容,同時(shí)實(shí)現(xiàn)高效率和性能穩(wěn)定的查詢。
[0012]【專利附圖】
【附圖說明】
圖1是本發(fā)明的原理示意圖。
[0013]圖2是索引文件映射的流程示意圖。
[0014]圖3是帶有索引頭的B樹結(jié)構(gòu)不意圖。
[0015]圖4是改進(jìn)B樹索引葉子節(jié)點(diǎn)示意圖。
[0016]圖5是索引文件動態(tài)增長示意圖。
[0017]【具體實(shí)施方式】
下面結(jié)合附圖對本發(fā)明創(chuàng)造做進(jìn)一步詳細(xì)說明。
[0018]對于大文件采用傳統(tǒng)的文件讀寫方式進(jìn)行頻繁操作會浪費(fèi)大量的時(shí)間,本發(fā)明采用內(nèi)存映射方式存儲索引文件來解決該問題,并創(chuàng)建了一種稱為索引頭(index head)的數(shù)據(jù)結(jié)構(gòu)來管理映射內(nèi)存和索引結(jié)構(gòu)。
[0019]B樹索引支持對重復(fù)鍵進(jìn)行索引,當(dāng)鍵的重復(fù)率較高時(shí),傳統(tǒng)B樹將重復(fù)鍵插入到索引樹中,效率非常低,本發(fā)明結(jié)合hash算法提出了一種支持重復(fù)鍵的改進(jìn)B樹,能有效地減少存儲空間和樹的復(fù)雜度同時(shí)保證查詢性能。
[0020]當(dāng)后期的維護(hù)中,隨著索引記錄逐步插入,索引文件會有超過預(yù)設(shè)大小的危險(xiǎn),本發(fā)明采用一種索引文件動態(tài)增長機(jī)制進(jìn)行擴(kuò)容,以保證擁有足夠空間容納索引記錄,不會出現(xiàn)溢出現(xiàn)象,同時(shí)不浪費(fèi)存儲空間,這樣保證了系統(tǒng)良好的可拓展性。
[0021]內(nèi)存映射(memory map)技術(shù)可以將一個(gè)文件的一部分或全部映射進(jìn)內(nèi)存中。如圖1所示,索引文件全部映射入內(nèi)存中,映射范圍即文件大小,這樣對文件的操作可以直接用指針進(jìn)行,操作系統(tǒng)可以將內(nèi)存數(shù)據(jù)刷新到相應(yīng)的文件中,以實(shí)現(xiàn)索引文件的動態(tài)更新。
[0022]本發(fā)明實(shí)施方式采用的技術(shù)就是內(nèi)存映射技術(shù),采用mmapO函數(shù)將索引文件按照一定方式和大小映射入內(nèi)存,得到映射的基地址,映射入內(nèi)存后無需再訪問索引文件,只需訪問映射的索引內(nèi)存,這樣即可節(jié)省索引文件讀寫時(shí)間。當(dāng)所有操作完成退出系統(tǒng)后,使用munmapO函數(shù)將該段內(nèi)存重新映射回索引文件,即完成了索引更新。由于索引文件映射到內(nèi)存的地址可設(shè)置為固定和系統(tǒng)分配兩種模式,考慮到一旦固定起始地址,當(dāng)該段內(nèi)存事先被系統(tǒng)其他進(jìn)程占用時(shí),系統(tǒng)的可移植性將不能得到保證,所以本發(fā)明采用系統(tǒng)分配的方式,這樣每次映射的地址不相同,所以節(jié)點(diǎn)中的指針并不能存儲真實(shí)地址,而是存儲地址對應(yīng)的偏移量,該偏移量即為存儲地址和基地址(baSe_ptr)之差;訪問指針?biāo)缸兞繒r(shí),則需加上基地址。
[0023]下面通過說明書附圖對各實(shí)施例對本發(fā)明進(jìn)行說明。
[0024]I)實(shí)施例一
本發(fā)明的實(shí)施例一介紹了一種索引文件導(dǎo)入內(nèi)存的方法,具體步驟流程如圖2所示,包括:
A、檢查是否存在索引,若存在則執(zhí)行步驟B;否則執(zhí)行步驟G ;
B、根據(jù)數(shù)據(jù)表記錄數(shù)估計(jì)索引文件大小,并根據(jù)表名、列名創(chuàng)建相應(yīng)大小的索引文
件;
C、按照一定的讀寫方式,設(shè)置好文件偏移量和映射長度將索引文件映射入內(nèi)存,映射方式采取隨機(jī)映射方式,即由系統(tǒng)隨機(jī)分配內(nèi)存,映射完成后返回基地址;
D、在基地址上創(chuàng)建索引頭,進(jìn)行初始化,將指針指向偏移量對應(yīng)的內(nèi)存空閑塊;
E、根據(jù)數(shù)據(jù)記錄依次獲得索引記錄;
F、若為第一條記錄,遍歷鏈表申請空間創(chuàng)建索引樹;否則遍歷鏈表申請空間將節(jié)點(diǎn)插入到索引樹中,具體詳見實(shí)施例二中的插入步驟;
G、進(jìn)行查詢、刪除、修改、插入等操作;
H、退出系統(tǒng),解除內(nèi)存映射。
[0025]2)實(shí)施例二
本發(fā)明的實(shí)施例二如圖3、4所示,展示了改進(jìn)的索引結(jié)構(gòu)以及B樹數(shù)據(jù)結(jié)構(gòu),圖3表示改進(jìn)的B樹索引結(jié)構(gòu),它包含了索引頭,其中索引頭分別指向了根節(jié)點(diǎn)、葉子鏈表首節(jié)點(diǎn)和尾節(jié)點(diǎn),這樣就能快速找到根節(jié)點(diǎn),進(jìn)行插入、刪除、查詢、修改等操作,同時(shí)能獲得最大和最小鍵值索引記錄,以方便進(jìn)行聚集操作。本發(fā)明B樹的具體改進(jìn)部分如圖4所示,它主要對重復(fù)鍵值的存儲進(jìn)行了改進(jìn),將重復(fù)的鍵值記錄存儲到鍵值對應(yīng)的行標(biāo)示符鏈表中,這樣就能避免將該記錄插入到整個(gè)索引樹中,而避免了進(jìn)行分裂等復(fù)雜操作。[0026]實(shí)施例二主要包括插入、刪除、查詢和修改四個(gè)步驟,如下所示:
1、插入操作步驟
A、輸入待插入的索引記錄(key,rowid);
B、根據(jù)索引頭讀取根節(jié)點(diǎn)root;
C、遍歷索引樹進(jìn)行鍵值key比較尋找相應(yīng)的葉節(jié)點(diǎn);
D、如果找到葉節(jié)點(diǎn),執(zhí)行步驟E;否則該樹為空,根據(jù)(key, rowid)創(chuàng)建索引樹;
E、在該葉節(jié)點(diǎn)中尋找是否存在key;
F、如果不存在,執(zhí)行步驟G;否則執(zhí)行步驟I ;
G、將其插入到該節(jié)點(diǎn)中,檢查插入后的節(jié)點(diǎn)是否溢出,若溢出插入到父節(jié)點(diǎn)中,則執(zhí)行步驟H;否則執(zhí)行步驟J ;
H、檢查父節(jié)點(diǎn)是否溢出,若溢出則進(jìn)行分裂和插入到父節(jié)點(diǎn)的操作,逐步迭代;否則執(zhí)行步驟J ;
1、遍歷該鍵值對于的鏈表查詢是否存在行標(biāo)示符rowid,若無則將其按序插入鍵值key指向的鏈表中,否則插入失??;
J、返回根節(jié)點(diǎn),更新索引頭。
[0027]2、刪除操作步驟
A、輸入待刪索引記錄(key,rowid);
B、根據(jù)索引頭讀取根節(jié)點(diǎn)root;
C、遍歷樹進(jìn)行鍵值key比較尋找相應(yīng)的葉節(jié)點(diǎn);
D、若找到相應(yīng)葉節(jié)點(diǎn),執(zhí)行步驟E;否則表示樹為空,退出;
E、在該葉節(jié)點(diǎn)中查找鍵值key,若找到,執(zhí)行步驟F;否則未找到相應(yīng)節(jié)點(diǎn),刪除失敗,退出;
F、在對應(yīng)的鏈表中查找行標(biāo)示符rowid,若找到則刪除;否則刪除失敗,退出;
G、檢查鍵值key對應(yīng)的鏈表是否為空,若為空則將鍵值key節(jié)點(diǎn)刪除;
H、成功刪除索引記錄,更新索引頭。
[0028]3、查詢操作步驟
A、輸入待刪索引鍵值key;
B、根據(jù)索引頭讀取根節(jié)點(diǎn)root;
C、遍歷樹進(jìn)行鍵值key比較尋找相應(yīng)的葉節(jié)點(diǎn);
D、若找到葉節(jié)點(diǎn),執(zhí)行步驟E;否則樹為空,退出;
E、在該葉節(jié)點(diǎn)中查找鍵值key,若發(fā)現(xiàn)則返回其指向的鏈表首地址;否則退出,未找到相應(yīng)記錄。
[0029]4、修改操作步驟
A、輸入待修改索引記錄(key,rowid_old, rowed_new);
B、根據(jù)索引頭讀取根節(jié)點(diǎn)root;
C、遍歷樹進(jìn)行鍵值key比較尋找相應(yīng)的葉節(jié)點(diǎn);
D、若找到葉節(jié)點(diǎn),執(zhí)行步驟E;否則樹為空,退出;
E、在該葉節(jié)點(diǎn)中查找鍵值key,若發(fā)現(xiàn)執(zhí)行步驟F,否則退出;
F、在key對應(yīng)的鏈表中查找老的行標(biāo)示符rowid_old,查找到后,修改rowid_old為新標(biāo)示符rowid_new,修改成功,更新索引頭;否則不存在,修改失敗退出。
[0030] 3)實(shí)施例三
實(shí)施例三提供了一種索引文件動態(tài)擴(kuò)容機(jī)制,該方法的步驟流程如圖5所示,包括:
A、檢查未分配內(nèi)存大小free_len與待分配大小之差占總大小的比例是否小于索引頭中定義的閾值(5%);
B、若小于,執(zhí)行步驟C;否則執(zhí)行步驟G ;
C、斷開映射,寫回磁盤文件;
D、獲取索引頭中定義的擴(kuò)容次數(shù)extend_time和目前索引文件大小index_file_len;
E、計(jì)算索引文件擴(kuò)容大??;
擴(kuò)容大小extend_size與擴(kuò)容次數(shù)extend_time和目前索引文件大小index_f ile_len兩個(gè)因素有關(guān)有關(guān):
若擴(kuò)容次數(shù)不超過2次
擴(kuò)容大小等于索引文件長度*(2*擴(kuò)容次數(shù)+1)*10%;
否則
擴(kuò)容大小等于索引文件長度*50%;
F、擴(kuò)容后重新映射索引文件到內(nèi)存;
G、繼續(xù)進(jìn)行相關(guān)操作。
【權(quán)利要求】
1.一種數(shù)據(jù)庫主存索引方法,其特征在于包括如下步驟: (1)啟動數(shù)據(jù)庫系統(tǒng)為某張數(shù)據(jù)表的主鍵創(chuàng)建索引時(shí),首先采用內(nèi)存映射方式將新建的索引文件映射到內(nèi)存中,在映射內(nèi)存區(qū)域的首地址上創(chuàng)建索引頭結(jié)構(gòu)體; (2)創(chuàng)建索引頭結(jié)構(gòu)體后,根據(jù)數(shù)據(jù)表讀入索引鍵值記錄,在該映射區(qū)域創(chuàng)建索引結(jié)構(gòu),將索引數(shù)據(jù)同步刷新到索弓I文件中;對內(nèi)存區(qū)域的索引結(jié)構(gòu)進(jìn)行維護(hù)操作時(shí),需動態(tài)更新索引頭信息; (3)退出數(shù)據(jù)庫系統(tǒng)時(shí),解除內(nèi)存映射,即可實(shí)現(xiàn)在外設(shè)磁盤上保存索引結(jié)構(gòu);當(dāng)重啟系統(tǒng)進(jìn)行查詢時(shí)再將索引文件映射入內(nèi)存,直接將完整的索引結(jié)構(gòu)導(dǎo)入內(nèi)存中,實(shí)現(xiàn)索引結(jié)構(gòu)的高效率導(dǎo)入和導(dǎo)出。
2.如權(quán)利要求1的一種數(shù)據(jù)庫主存索引方法,其特征在于在對內(nèi)存區(qū)域的索引結(jié)構(gòu)進(jìn)行維護(hù)操作,包括: 分配和釋放內(nèi)存時(shí),采用鏈?zhǔn)絻?nèi)存管理機(jī)制,將所有空閑塊用鏈表的形式串起來,當(dāng)為索引記錄申請內(nèi)存空間時(shí),需要利用索引頭中指向空閑塊的指針,它指向空閑塊鏈表的首節(jié)點(diǎn),該空閑鏈表的尾節(jié)點(diǎn)則位于偏移量對應(yīng)的位置;分配內(nèi)存時(shí),根據(jù)next遍歷空閑塊鏈表直到找到能容納申請大小的空閑塊,更新空閑塊鏈表當(dāng)釋放空間時(shí),初始化該塊并遍歷鏈表,找到對應(yīng)的位置并插入,觀察是否和其他塊相鄰,若相鄰則合并。
3.如權(quán)利要求2所述的一種數(shù)據(jù)庫主存索引方法,其特征在于,在申請內(nèi)存空間時(shí),還包括: 隨著索引記錄的插入,出現(xiàn)預(yù)設(shè)的文件大小不足的情況,在索引頭中設(shè)置一閾值,當(dāng)文件未分配區(qū)域占文件的比例小于該閾值時(shí),斷開映射,根據(jù)擴(kuò)容次數(shù)對索引文件擴(kuò)容,當(dāng)擴(kuò)容次數(shù)越大時(shí),每次擴(kuò)容比例就越大,擴(kuò)容次數(shù)到一定次數(shù)時(shí),設(shè)為定值;待擴(kuò)容完成后,將擴(kuò)容后的索引文件重新映射入內(nèi)存。
4.一種數(shù)據(jù)庫主存索引方法,其特征在于,包括以下步驟: 除支持唯一索引外,對于重復(fù)率較高的鍵值創(chuàng)建索引的情況,結(jié)合hash和B樹的特點(diǎn),采用一種改進(jìn)的B樹索引結(jié)構(gòu)以支持重復(fù)鍵,該索引結(jié)構(gòu)采用鏈表存儲重復(fù)鍵對應(yīng)的行標(biāo)示符; 進(jìn)行維護(hù)操作時(shí),首先要找到相關(guān)節(jié)點(diǎn)對應(yīng)的葉子節(jié)點(diǎn),插入時(shí)先檢查葉子節(jié)點(diǎn)是否存在該鍵值,若不存在,申請內(nèi)存將該節(jié)點(diǎn)插入到該索引樹中;若存在則將節(jié)點(diǎn)的行標(biāo)示符插入到該鍵值對應(yīng)的鏈表中,刪除時(shí),先刪除鍵值對應(yīng)鏈表中的行標(biāo)示符記錄,再檢查該鏈表是否為空,若為空則將該鍵值從索引樹中刪除并釋放空間;查詢和修改都是在葉子節(jié)點(diǎn)中找到相應(yīng)鍵,在對應(yīng)的鏈表中查找和修改記錄。
【文檔編號】G06F17/30GK103823865SQ201410063636
【公開日】2014年5月28日 申請日期:2014年2月25日 優(yōu)先權(quán)日:2014年2月25日
【發(fā)明者】秦小麟, 王勝, 朱廣蔚, 沈堯, 王寧 申請人:南京航空航天大學(xué)