欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法和裝置與流程

文檔序號(hào):12863998閱讀:527來(lái)源:國(guó)知局
數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法和裝置與流程

本發(fā)明涉及數(shù)據(jù)庫(kù)管理領(lǐng)域,尤指一種數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法和裝置。



背景技術(shù):

數(shù)據(jù)庫(kù)最重要的組成部分是數(shù)據(jù)表。根據(jù)數(shù)據(jù)庫(kù)管理內(nèi)容,數(shù)據(jù)表可以有多個(gè),不同之間的數(shù)據(jù)表之間可以關(guān)聯(lián)使用。數(shù)據(jù)庫(kù)中可以有關(guān)鍵字、主鍵、索引等來(lái)維護(hù)管理的內(nèi)容。

當(dāng)針對(duì)一個(gè)表的刪除操作次數(shù)很多時(shí),表以及表相關(guān)的索引占用的空間就會(huì)產(chǎn)生不連續(xù)性,會(huì)產(chǎn)生大量碎片化的空間。那么在產(chǎn)生大量碎片化的空間后,再針對(duì)此表的增刪改查操作效率都會(huì)變低。



技術(shù)實(shí)現(xiàn)要素:

為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法和裝置,通過(guò)對(duì)存儲(chǔ)空間的管理,提高數(shù)據(jù)表的響應(yīng)速度。

為了達(dá)到本發(fā)明目的,本發(fā)明提供一種數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法,包括:

在對(duì)數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)表中的表項(xiàng)進(jìn)行刪除操作后,記錄碎片數(shù)據(jù)在存儲(chǔ)空間對(duì)應(yīng)的數(shù)據(jù)塊信息,其中所述碎片數(shù)據(jù)是在每次刪除操作后所述數(shù)據(jù)表所產(chǎn)生的;計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和;根據(jù)所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放;如果執(zhí)行存儲(chǔ)空間的釋放的操作,則釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊。

其中,所述計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和,包括:

在預(yù)先設(shè)置的時(shí)間內(nèi),當(dāng)對(duì)所述數(shù)據(jù)表的刪除操作次數(shù)達(dá)到預(yù)先設(shè)置的次數(shù)閾值時(shí),計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和。

其中,所述根據(jù)所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放,包括:

獲取所述數(shù)據(jù)表在存儲(chǔ)空間占用的數(shù)據(jù)塊總和;根據(jù)所述碎片占用的數(shù)據(jù)塊總和以及所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放。

其中,所述釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊,包括:

獲取所述碎片占用的數(shù)據(jù)塊中未被占用的數(shù)據(jù)塊;對(duì)所述未被占用的數(shù)據(jù)塊執(zhí)行存儲(chǔ)空間釋放的操作。

其中,,所述釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊之后,還包括:

根據(jù)釋放的數(shù)據(jù)塊的數(shù)量,對(duì)所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和進(jìn)行更新。

一種數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理裝置,包括:

記錄模塊,用于在對(duì)數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)表中的表項(xiàng)進(jìn)行刪除操作后,記錄碎片數(shù)據(jù)在存儲(chǔ)空間對(duì)應(yīng)的數(shù)據(jù)塊信息,其中所述碎片數(shù)據(jù)是在每次刪除操作后所述數(shù)據(jù)表所產(chǎn)生的;計(jì)算模塊,用于計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和;判斷模塊,用于根據(jù)所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放;釋放模塊,用于如果執(zhí)行存儲(chǔ)空間的釋放的操作,則釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊。

其中,所述計(jì)算模塊具體用于:

在預(yù)先設(shè)置的時(shí)間內(nèi),當(dāng)對(duì)所述數(shù)據(jù)表的刪除操作次數(shù)達(dá)到預(yù)先設(shè)置的次數(shù)閾值時(shí),計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和。

其中,所述判斷模塊包括:

第一獲取單元,用于獲取所述數(shù)據(jù)表在存儲(chǔ)空間占用的數(shù)據(jù)塊總和;

判斷單元,用于根據(jù)所述碎片占用的數(shù)據(jù)塊總和以及所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放。

其中,所述釋放模塊包括:

第二獲取單元,用于獲取所述碎片占用的數(shù)據(jù)塊中未被占用的數(shù)據(jù)塊;

釋放單元,用于對(duì)所述未被占用的數(shù)據(jù)塊執(zhí)行存儲(chǔ)空間釋放的操作。

其中,,所述裝置還包括:

在釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊后,根據(jù)釋放的數(shù)據(jù)塊的數(shù)量,對(duì)所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和進(jìn)行更新。

與現(xiàn)有技術(shù)相比,本發(fā)明提供的實(shí)施例,通過(guò)對(duì)數(shù)據(jù)表刪除操作產(chǎn)生的碎片占用的數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),得到碎片占用的數(shù)據(jù)塊總和,再利用碎片占用的數(shù)據(jù)塊總和,來(lái)計(jì)算是否對(duì)該數(shù)據(jù)表的碎片進(jìn)行整理,從而優(yōu)化數(shù)據(jù)表的存儲(chǔ)空間,減少碎片化數(shù)據(jù)的占有比例,提高數(shù)據(jù)表的響應(yīng)速度。

本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見,或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。

附圖說(shuō)明

附圖用來(lái)提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。

圖1為本發(fā)明提供的數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法的流程圖;

圖2為本發(fā)明提供的數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法應(yīng)用實(shí)例的流程圖;

圖3為本發(fā)明提供的數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。

在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

圖1為本發(fā)明提供的數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法的流程圖。圖1所示方法包括:

步驟101、在對(duì)數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)表中的表項(xiàng)進(jìn)行刪除操作后,記錄碎片數(shù)據(jù)在存儲(chǔ)空間對(duì)應(yīng)的數(shù)據(jù)塊信息,其中所述碎片數(shù)據(jù)是在每次刪除操作后所述數(shù)據(jù)表所產(chǎn)生的;

步驟102、計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和;

步驟103、根據(jù)所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放;

步驟104、如果執(zhí)行存儲(chǔ)空間的釋放的操作,則釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊。

本發(fā)明提供的方法實(shí)施例,通過(guò)對(duì)數(shù)據(jù)表刪除操作產(chǎn)生的碎片占用的數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),得到碎片占用的數(shù)據(jù)塊總和,再利用碎片占用的數(shù)據(jù)塊總和,來(lái)計(jì)算是否對(duì)該數(shù)據(jù)表的碎片進(jìn)行整理,從而優(yōu)化數(shù)據(jù)表的存儲(chǔ)空間,減少碎片化數(shù)據(jù)的占有比例,提高數(shù)據(jù)表的響應(yīng)速度。

下面對(duì)本發(fā)明提供的方法實(shí)施例作進(jìn)一步說(shuō)明:

當(dāng)針對(duì)一個(gè)數(shù)據(jù)表的刪除操作很多時(shí),表以及表相關(guān)的索引占用的空間就會(huì)產(chǎn)生不連續(xù)性,會(huì)產(chǎn)生大量碎片化的空間,從而造成對(duì)此表的增刪改查操作效率都會(huì)變低,因此,當(dāng)檢測(cè)到一段時(shí)間內(nèi)刪除操作次數(shù)過(guò)多時(shí),就需要觸發(fā)碎片整理的操作。

在本發(fā)明實(shí)施例中,在預(yù)先設(shè)置的時(shí)間內(nèi),當(dāng)對(duì)所述數(shù)據(jù)表的刪除操作次數(shù)達(dá)到預(yù)先設(shè)置的次數(shù)閾值時(shí),計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和。

由于數(shù)據(jù)表的響應(yīng)速度取決于該數(shù)據(jù)表所占用的空間是否連續(xù),因此,在進(jìn)行比對(duì)時(shí),因此是將數(shù)據(jù)表的碎片占用的空間與該數(shù)據(jù)表占用的所有數(shù)據(jù)塊進(jìn)行比對(duì),而不是跟整個(gè)數(shù)據(jù)庫(kù)進(jìn)行比對(duì),以保證判斷的準(zhǔn)確性。

因此,本發(fā)明實(shí)施例中判斷是否執(zhí)行存儲(chǔ)空間的釋放采用的方式為:

獲取所述數(shù)據(jù)表在存儲(chǔ)空間占用的數(shù)據(jù)塊總和;

根據(jù)所述碎片占用的數(shù)據(jù)塊總和以及所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放操作。

其中,可以二者的比例達(dá)到某個(gè)數(shù)值時(shí),認(rèn)為可以執(zhí)行存儲(chǔ)空間的釋放操作;如果二者的比例未達(dá)到該數(shù)值,則認(rèn)為不執(zhí)行存儲(chǔ)空間的釋放操作。

在數(shù)據(jù)庫(kù)中,存儲(chǔ)某一數(shù)據(jù)表的碎片的數(shù)據(jù)塊可能還存儲(chǔ)有其他有用的數(shù)據(jù),如響應(yīng)外部請(qǐng)求的數(shù)據(jù),因此,對(duì)于這部分存儲(chǔ)碎片和有用數(shù)據(jù)的數(shù)據(jù)塊不能執(zhí)行存儲(chǔ)空間釋放的操作,否則會(huì)影響正常的數(shù)據(jù)訪問(wèn),因此,本發(fā)明在釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊采用如下方式:

獲取所述碎片占用的數(shù)據(jù)塊中未被占用的數(shù)據(jù)塊;

對(duì)所述未被占用的數(shù)據(jù)塊執(zhí)行存儲(chǔ)空間釋放的操作。

在本發(fā)明實(shí)施例中,只對(duì)未被占用的數(shù)據(jù)塊執(zhí)行存儲(chǔ)空間釋放的操作,將只存儲(chǔ)有碎片的數(shù)據(jù)塊進(jìn)行釋放,在保證數(shù)據(jù)正常響應(yīng)的前提下,釋放了數(shù)據(jù)表對(duì)應(yīng)的存儲(chǔ)空間。

當(dāng)然,在釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊之后,該數(shù)據(jù)表中碎片占用的數(shù)據(jù)塊發(fā)生了變化,因此需要根據(jù)釋放的數(shù)據(jù)塊的數(shù)量,對(duì)所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和進(jìn)行更新,以保證下一次進(jìn)行碎片整理時(shí)碎片占用的數(shù)據(jù)塊的起始計(jì)數(shù)單位的正確性。

下面對(duì)本發(fā)明提供的方法實(shí)施例作進(jìn)一步說(shuō)明:

圖2為本發(fā)明提供的數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理方法應(yīng)用實(shí)例的流程圖,圖2所示方法包括

步驟001:根據(jù)給定的表名稱,去查詢?cè)摫淼慕y(tǒng)計(jì)信息是否為最新的統(tǒng)計(jì)信息;

如果統(tǒng)計(jì)信息為最新的,可跳過(guò)步驟002,直接執(zhí)行步驟003;如果統(tǒng)計(jì)信息不是最新的,則執(zhí)行步驟002來(lái)收集統(tǒng)計(jì)信息;

步驟003:計(jì)算表碎片是否超過(guò)閥值;

其中,碎片率=碎片占用數(shù)據(jù)塊/表占用總數(shù)據(jù)塊*100/100,可設(shè)置此閥值20-25%,具體可根據(jù)業(yè)務(wù)表的具體情況設(shè)置;

如果超過(guò)閥值則執(zhí)行步驟004,如果沒有超過(guò)閥值則跳過(guò)步驟004;

步驟004:整理碎片。

此種方式可以在線整理,即在對(duì)表做碎片整理時(shí)該表仍然可以進(jìn)行增刪改查等操作,不影響業(yè)務(wù)。

其中,還可以通過(guò)shell腳本去自動(dòng)執(zhí)行,并把shell腳本做成定時(shí)任務(wù),可以按需執(zhí)行,比如根據(jù)該數(shù)據(jù)表的訪問(wèn)頻率,為每個(gè)數(shù)據(jù)表設(shè)置執(zhí)行頻率,如每天,每周,每月等。

本發(fā)明提供的應(yīng)用實(shí)例,設(shè)置碎片閥值,自動(dòng)的去發(fā)現(xiàn)數(shù)據(jù)庫(kù)表的碎片,并能在達(dá)到閥值后自動(dòng)的去整理碎片,以達(dá)到表優(yōu)化的目的。

圖3為本發(fā)明提供的數(shù)據(jù)庫(kù)中存儲(chǔ)空間的管理裝置的結(jié)構(gòu)圖。圖3所示裝置包括:

記錄模塊301,用于在對(duì)數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)表中的表項(xiàng)進(jìn)行刪除操作后,記錄碎片數(shù)據(jù)在存儲(chǔ)空間對(duì)應(yīng)的數(shù)據(jù)塊信息,其中所述碎片數(shù)據(jù)是在每次刪除操作后所述數(shù)據(jù)表所產(chǎn)生的;

計(jì)算模塊302,用于計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和;

判斷模塊303,用于根據(jù)所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放;

釋放模塊304,用于如果執(zhí)行存儲(chǔ)空間的釋放的操作,則釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊。

其中,所述計(jì)算模塊302具體用于:

在預(yù)先設(shè)置的時(shí)間內(nèi),當(dāng)對(duì)所述數(shù)據(jù)表的刪除操作次數(shù)達(dá)到預(yù)先設(shè)置的次數(shù)閾值時(shí),計(jì)算所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和。

其中,所述判斷模塊303包括:

第一獲取單元,用于獲取所述數(shù)據(jù)表在存儲(chǔ)空間占用的數(shù)據(jù)塊總和;

判斷單元,用于根據(jù)所述碎片占用的數(shù)據(jù)塊總和以及所述碎片占用的數(shù)據(jù)塊總和,判斷是否執(zhí)行存儲(chǔ)空間的釋放。

其中,所述釋放模塊304包括:

第二獲取單元,用于獲取所述碎片占用的數(shù)據(jù)塊中未被占用的數(shù)據(jù)塊;

釋放單元,用于對(duì)所述未被占用的數(shù)據(jù)塊執(zhí)行存儲(chǔ)空間釋放的操作。

可選的,所述裝置還包括:

在釋放所述數(shù)據(jù)表的碎片在存儲(chǔ)空間中占用的數(shù)據(jù)塊后,根據(jù)釋放的數(shù)據(jù)塊的數(shù)量,對(duì)所述數(shù)據(jù)表在存儲(chǔ)空間中碎片占用的數(shù)據(jù)塊總和進(jìn)行更新。

本發(fā)明提供的裝置實(shí)施例,通過(guò)對(duì)數(shù)據(jù)表刪除操作產(chǎn)生的碎片占用的數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),得到碎片占用的數(shù)據(jù)塊總和,再利用碎片占用的數(shù)據(jù)塊總和,來(lái)計(jì)算是否對(duì)該數(shù)據(jù)表的碎片進(jìn)行整理,從而優(yōu)化數(shù)據(jù)表的存儲(chǔ)空間,減少碎片化數(shù)據(jù)的占有比例,提高數(shù)據(jù)表的響應(yīng)速度。

雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
邳州市| 秦安县| 温泉县| 板桥市| 长岭县| 林口县| 山西省| 保定市| 翼城县| 观塘区| 嵩明县| 错那县| 会东县| 遂平县| 昌邑市| 元朗区| 临武县| 巢湖市| 庆安县| 濉溪县| 绥德县| 浦城县| 哈尔滨市| 乐至县| 兰州市| 剑川县| 新巴尔虎左旗| 原平市| 阜新市| 宜君县| 潜山县| 二手房| 咸阳市| 石棉县| 老河口市| 罗田县| 北海市| 息烽县| 彝良县| 揭西县| 伊宁市|