亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種動態(tài)優(yōu)化數(shù)據(jù)表的方法及裝置的制作方法

文檔序號:6441205閱讀:183來源:國知局

專利名稱::一種動態(tài)優(yōu)化數(shù)據(jù)表的方法及裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明屬于數(shù)據(jù)庫
技術(shù)領(lǐng)域
,尤其涉及一種動態(tài)優(yōu)化數(shù)據(jù)表的方法及裝置。
背景技術(shù)
:隨著社會信息化的日益發(fā)展,數(shù)據(jù)庫在企業(yè)、學(xué)校以及圖書館中都得到了普遍的應(yīng)用。在日常應(yīng)用中,數(shù)據(jù)庫系統(tǒng)需要存儲大量數(shù)據(jù),而隨著業(yè)務(wù)的不斷發(fā)展,數(shù)據(jù)量越來越多,造成硬盤空間容量不足,將嚴重影響數(shù)據(jù)庫的操作效率。為了確保數(shù)據(jù)庫系統(tǒng)具備良好的運行性能,在系統(tǒng)容量有限的前提下,如何節(jié)省出更大的數(shù)據(jù)空間成為人們爭相解決的問題之一,其中合理分配及利用數(shù)據(jù)庫內(nèi)存空間起著至關(guān)重要的作用。在Mysql中,對于myisam引擎來說,表的行模式是表結(jié)構(gòu)優(yōu)化的重要內(nèi)容。表的行模式包括固定模式(fixedrowformat)和動態(tài)模式(dynamicrowformat)。固定模式對于mysql存儲引擎來說具備訪問響應(yīng)快的特點,它相對來說不容易被破壞。動態(tài)模式占用較少的硬盤空間,但是具有碎片(fragmentation)的危險,這個時候就需要用optimizetable來解決這個問題。從性能測試來說,大數(shù)據(jù)量的時候,固定模式的查詢性能得到很大的提高,但是占用空間明顯比動態(tài)模式占用很多。所以優(yōu)化myisam引擎的表具有十分重要的作用,可以利用當(dāng)前資源更好地提高性能。
發(fā)明內(nèi)容本發(fā)明提供一種動態(tài)優(yōu)化數(shù)據(jù)表的方法及裝置以解決上述問題。本發(fā)明提供一種動態(tài)優(yōu)化數(shù)據(jù)表的方法,包括以下步驟。將數(shù)據(jù)表調(diào)整為固定模式,并獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及所述一定時間段內(nèi)最大delete操作變化系數(shù)。根據(jù)所有數(shù)據(jù)表的空間變化率及索引變化率判斷是否需要模式變更。若數(shù)據(jù)表需要進行模式變更,根據(jù)每個數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量依次判斷每個數(shù)據(jù)表是否需要變更為動態(tài)模式。根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化。本發(fā)明提供一種動態(tài)優(yōu)化數(shù)據(jù)表的裝置,包括取值模塊、第一判斷模塊、第二判斷模塊、第三判斷模塊,所述取值模塊連接所述第一判斷模塊,所述第一判斷模塊連接所述第二判斷模塊,所述第二判斷模塊連接所述第三判斷模塊。所述取值模塊,用于將數(shù)據(jù)表調(diào)整為固定模式,并獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及所述一定時間段內(nèi)最大delete操作變化系數(shù)。所述第一判斷模塊,用于根據(jù)所有數(shù)據(jù)表的空間變化率及索引變化率判斷是否需要模式變更。所述第二判斷模塊,用于若數(shù)據(jù)表需要進行模式變更,根據(jù)每個數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量依次判斷每個數(shù)據(jù)表是否需要變更為動態(tài)模式。所述第三判斷模塊,用于根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化。相較于先前技術(shù),根據(jù)本發(fā)明提供的動態(tài)優(yōu)化數(shù)據(jù)表的方法及裝置,分別獲取數(shù)據(jù)表一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及一定時間段內(nèi)最大delete操作變化系數(shù),并根據(jù)所有數(shù)據(jù)表的空間變化率及索引變化率判斷是否需要模式變更。若數(shù)據(jù)表需要模式變更,再根據(jù)單個數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量判斷是否變更為動態(tài)模式,并根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化。根據(jù)與單個數(shù)據(jù)表設(shè)置的不同預(yù)設(shè)值作比較,靈活控制數(shù)據(jù)表的模式,并對數(shù)據(jù)表進行動態(tài)優(yōu)化,有效提高了數(shù)據(jù)庫空間利用率。此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1所示為根據(jù)本發(fā)明的較佳實施例提供的動態(tài)優(yōu)化數(shù)據(jù)表的方法的流程圖;圖2所示為根據(jù)本發(fā)明的較佳實施例提供的動態(tài)優(yōu)化數(shù)據(jù)表的裝置的示意圖;圖3所示為根據(jù)本發(fā)明的又一較佳實施例提供的動態(tài)優(yōu)化數(shù)據(jù)表的裝置的示意圖。具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖1所示為根據(jù)本發(fā)明的較佳實施例提供的動態(tài)優(yōu)化數(shù)據(jù)表的方法的流程圖。如圖ι所示,本發(fā)明的較佳實施例提供的動態(tài)優(yōu)化數(shù)據(jù)表的方法包括步驟101104。步驟101將數(shù)據(jù)表調(diào)整為固定模式,并獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及所述一定時間段內(nèi)最大delete操作變化系數(shù)。具體而言,所述數(shù)據(jù)表,即為myisam引擎的mysql數(shù)據(jù)表,將數(shù)據(jù)表調(diào)整為固定模式的方式為讀取各個數(shù)據(jù)表,查找所述數(shù)據(jù)表中是否含有blob或text類型的字段,若是,則將所述blob或text類型字段拆分為獨立的其它數(shù)據(jù)表,直到所述數(shù)據(jù)表中不再含有blob或text類型字段,此時數(shù)據(jù)表即為固定模式。例如,現(xiàn)有student_l表,表內(nèi)含有stu_id、stu_name及stu_description字段,程序表述如下CREATETABLEstudent、(、stu—id、int(10)unsignedNOTNULL,、stu—name、char(10)DEFAULTNULL,’stu—description、text,PRIMARYKEY(stu—id、))ENGINE=MyISAMDEFAULTCHARSET=Iatinl其中stu_description字段為text類型,因此,需將stu_description字段從表student,1中拆分出去。拆分后有兩個數(shù)據(jù)表,一個是student表含有stu_id和stu_name字段,另外一個為stu_decpt表含有stu_id和stu_description字段。在將數(shù)據(jù)表調(diào)整為固定模式后,獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及一定時間段內(nèi)最大delete操作變化系數(shù)。上述各參數(shù)中,所述數(shù)據(jù)表的空間變化率,表示數(shù)據(jù)表的占用空間在單位時間段內(nèi)變化程度;所述索引變化率,表示索引的占用空間在單位時間段內(nèi)變化程度;所述單位時間delete操作量,為單位時間段內(nèi)數(shù)據(jù)表的delete操作個數(shù);所述單位時間select操作量,為單位時間段內(nèi)數(shù)據(jù)表的select操作個數(shù);所述delete操作變化系數(shù),為一個delete操作所刪除記錄條數(shù)與數(shù)據(jù)表總條數(shù)的比值,不同delete操作對應(yīng)不同變化系數(shù),一定時間段內(nèi)每個數(shù)據(jù)表中最大變化系數(shù)即為該數(shù)據(jù)表最大delete操作變化系數(shù)。若以1小時為單位時間段,下面以數(shù)據(jù)表A表第一天至第三天11-12時之間的數(shù)據(jù)為例,詳細說明各參數(shù)獲取過程。其中,空間變化率取值方法為第一天11-12時空間變化率即按第一天11-12時單位時間空間變化量獲??;第一天11-12時空間變化率與第二天11-12時單位時間的空間變化量相加再除以2,得到第二天11-12時空間變化率;第二天11-12時空間變化率與第三天11-12時單位時間的空間變化量相加再除以2,得到第三天11-12時空間變化率。同樣地,索引變化率也按以上方法計算得出。各參數(shù)獲取詳細如下表所示。權(quán)利要求1.一種動態(tài)優(yōu)化數(shù)據(jù)表的方法,其特征在于,包括以下步驟將數(shù)據(jù)表調(diào)整為固定模式,并獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及所述一定時間段內(nèi)最大delete操作變化系數(shù);根據(jù)所有數(shù)據(jù)表的空間變化率及索引變化率判斷是否需要模式變更;若數(shù)據(jù)表需要進行模式變更,根據(jù)每個數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量依次判斷每個數(shù)據(jù)表是否需要變更為動態(tài)模式;根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所有數(shù)據(jù)表的空間變化率及索引變化率判斷是否需要模式變更的方式為獲取所有數(shù)據(jù)表空間變化率的平方與索引變化率的平方之和,比較所述平方和數(shù)值與預(yù)設(shè)范圍值,若所述平方和值大于所述預(yù)設(shè)范圍值,則數(shù)據(jù)表需要模式變更。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量判斷所述數(shù)據(jù)表是否需要變更為動態(tài)模式的方式為獲取所述數(shù)據(jù)表的單位時間select操作量與單位時間delete操作量的乘積,并比較所述乘積與所述數(shù)據(jù)表對應(yīng)的預(yù)設(shè)模式值,當(dāng)所述乘積小于所述數(shù)據(jù)表對應(yīng)的預(yù)設(shè)模式值時,所述數(shù)據(jù)表變更為動態(tài)模式。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化的方式為當(dāng)所述數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)大于所述數(shù)據(jù)表對應(yīng)的預(yù)設(shè)值時,對所述數(shù)據(jù)表進行優(yōu)化。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,若所述數(shù)據(jù)表為動態(tài)模式,用optimizetable工具進行優(yōu)化,若所述數(shù)據(jù)表為固定模式,用myisampack工具進行優(yōu)化。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,將數(shù)據(jù)表調(diào)整為固定模式的方式為拆分含有blob或text類型字段的數(shù)據(jù)表,拆分后的數(shù)據(jù)表不包含blob或text類型字段,即為固定模式。7.一種動態(tài)優(yōu)化數(shù)據(jù)表的裝置,其特征在于,包括取值模塊、第一判斷模塊、第二判斷模塊、第三判斷模塊,所述取值模塊連接所述第一判斷模塊,所述第一判斷模塊連接所述第二判斷模塊,所述第二判斷模塊連接所述第三判斷模塊,所述取值模塊,用于將數(shù)據(jù)表調(diào)整為固定模式,并獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及所述一定時間段內(nèi)最大delete操作變化系數(shù);戶腦第一判斷模塊,用于根據(jù)所有觀表的空間變化率及索弓丨變化率判斷是否需要模式變更;所述第二判斷模塊,用于若數(shù)據(jù)表需要進行模式變更,根據(jù)每個數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量依次判斷每個數(shù)據(jù)表是否需要變更為動態(tài)模式;所述第三判斷模塊,用于根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還可以包括優(yōu)化模塊,所述優(yōu)化模塊連接所述第三判斷模塊,所述優(yōu)化模塊用于若所述第三判斷模塊判斷所述數(shù)據(jù)表需要優(yōu)化,對所述數(shù)據(jù)表進行優(yōu)化。全文摘要本發(fā)明提供一種動態(tài)優(yōu)化數(shù)據(jù)表的方法及裝置。本發(fā)明方法包括以下步驟,將數(shù)據(jù)表調(diào)整為固定模式,并獲取一定時間段內(nèi)每個數(shù)據(jù)表的空間變化率、索引變化率、單位時間delete操作量、單位時間select操作量以及所述一定時間段內(nèi)最大delete操作變化系數(shù)。根據(jù)所有數(shù)據(jù)表的空間變化率及索引變化率判斷是否需要模式變更。若數(shù)據(jù)表需要進行模式變更,根據(jù)每個數(shù)據(jù)表的單位時間select操作量及單位時間delete操作量依次判斷每個數(shù)據(jù)表是否需要變更為動態(tài)模式。根據(jù)每個數(shù)據(jù)表一定時間段內(nèi)最大delete操作變化系數(shù)判斷數(shù)據(jù)表是否需要優(yōu)化。文檔編號G06F17/30GK102385634SQ20111041689公開日2012年3月21日申請日期2011年12月14日優(yōu)先權(quán)日2011年12月14日發(fā)明者胡加明申請人:蘇州闊地網(wǎng)絡(luò)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1