[發(fā)明專利]一種索引記錄的管理方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201310645551.9 | 申請(qǐng)日: | 2013-12-03 |
| 公開(公告)號(hào): | CN103714121B | 公開(公告)日: | 2017-07-14 |
| 發(fā)明(設(shè)計(jì))人: | 李海豐 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司44202 | 代理人: | 郝傳鑫,熊永強(qiáng) |
| 地址: | 518129 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 索引 記錄 管理 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,具體涉及一種索引記錄的管理方法及裝置。
背景技術(shù)
在數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)表中的每行(即數(shù)據(jù)庫(kù)表中的每條記錄)就是一個(gè)元組。索引是對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),通過索引中的索引記錄和DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言)可以快速的訪問數(shù)據(jù)庫(kù)表中的特定元組從而大大提高了數(shù)據(jù)庫(kù)的性能。
現(xiàn)有的大部分?jǐn)?shù)據(jù)庫(kù)只在數(shù)據(jù)庫(kù)表中存儲(chǔ)元組的新舊版本信息,當(dāng)發(fā)生讀寫沖突時(shí),寫操作會(huì)產(chǎn)生一個(gè)新的版本信息,并將新的版本信息存儲(chǔ)在更新后的元組中,而讀操作就必須獲取索引記錄對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的元組的版本信息才能夠判斷出元組是否符合該讀操作的數(shù)據(jù)庫(kù)快照的要求,這樣大大降低了數(shù)據(jù)庫(kù)的整體性能。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例公開了一種索引記錄的管理方法及裝置,用于解決當(dāng)發(fā)生讀寫沖突時(shí)由于現(xiàn)有的索引記錄中沒有存儲(chǔ)元組的版本信息而導(dǎo)致數(shù)據(jù)庫(kù)整體性能降低的問題。
本發(fā)明實(shí)施例第一方面公開了一種索引記錄的管理方法,所述方法包括:
在數(shù)據(jù)庫(kù)表中插入新元組;
創(chuàng)建與所述數(shù)據(jù)庫(kù)表中插入的新元組對(duì)應(yīng)的索引記錄,其中,所述索引記錄包括所述新元組的版本信息、用于表示所述新元組的版本信息對(duì)當(dāng)前事務(wù)是否可見的狀態(tài)信息、所述新元組中用于創(chuàng)建所述索引記錄的鍵值以及指向所述新元組的指針,所述新元組的版本信息包括用于表示創(chuàng)建所述新元組的版本信息。
在本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
檢測(cè)是否存在用于刪除所述新元組的操作;
若檢測(cè)到存在用于刪除所述新元組的操作,則向所述新元組的版本信息中添加用于表示刪除所述新元組的版本信息;
更新所述狀態(tài)信息。
結(jié)合本發(fā)明實(shí)施例第一方面或本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式中,所述方法還包括:
判斷用于存儲(chǔ)所述索引記錄的索引頁(yè)面的存儲(chǔ)空間是否不足;
若確定出所述索引頁(yè)面的存儲(chǔ)空間不足,則執(zhí)行用于清理所述索引頁(yè)面的操作。
結(jié)合本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式中,所述執(zhí)行用于清理所述索引頁(yè)面的操作包括:
根據(jù)所述索引頁(yè)面中的索引記錄的狀態(tài)信息刪除所述索引頁(yè)面中的索引記錄中對(duì)當(dāng)前事務(wù)可見的用于表示創(chuàng)建元組的版本信息。
結(jié)合本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式中,所述方法還包括:
刪除所述索引頁(yè)面中與所述數(shù)據(jù)庫(kù)表中的垃圾元組對(duì)應(yīng)的索引記錄,其中,所述垃圾元組包括所述數(shù)據(jù)庫(kù)表中被成功刪除的元組。
本發(fā)明實(shí)施例第二方面公開了一種索引記錄的管理裝置,所述裝置包括:
插入單元,用于在數(shù)據(jù)庫(kù)表中插入新元組;
創(chuàng)建單元,用于創(chuàng)建與所述數(shù)據(jù)庫(kù)表中插入的新元組對(duì)應(yīng)的索引記錄,其中,所述索引記錄包括所述新元組的版本信息、用于表示所述新元組的版本信息對(duì)當(dāng)前事務(wù)是否可見的狀態(tài)信息、所述新元組中用于創(chuàng)建所述索引記錄的鍵值以及指向所述新元組的指針,所述新元組的版本信息包括用于表示創(chuàng)建所述新元組的版本信息。
在本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
檢測(cè)單元,用于檢測(cè)是否存在用于刪除所述新元組的操作;
添加單元,用于若所述檢測(cè)單元檢測(cè)到存在用于刪除所述新元組的操作,則向所述新元組的版本信息中添加用于表示刪除所述新元組的版本信息;
更新單元,用于更新所述狀態(tài)信息。
結(jié)合本發(fā)明實(shí)施例第二方面或本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
判斷單元,用于判斷用于存儲(chǔ)所述索引記錄的索引頁(yè)面的存儲(chǔ)空間是否不足;
清理單元,用于若所述判斷單元確定出所述索引頁(yè)面的存儲(chǔ)空間不足,則執(zhí)行用于清理所述索引頁(yè)面的操作。
結(jié)合本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式中,所述清理單元具體用于根據(jù)所述索引頁(yè)面中的索引記錄的狀態(tài)信息刪除所述索引頁(yè)面中的索引記錄中對(duì)當(dāng)前事務(wù)可見的用于表示創(chuàng)建元組的版本信息。
結(jié)合本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310645551.9/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





