專利名稱::一種數(shù)據(jù)庫索引建立方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)庫技術(shù),尤其涉及一種數(shù)據(jù)庫索引建立方法及裝置。
背景技術(shù):
:目前,通過相應的工具可以導出數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)庫表的結(jié)構(gòu)的文件,這些結(jié)構(gòu)中包含如何創(chuàng)建庫,如何創(chuàng)建表。通過這個結(jié)構(gòu)文件的導入,可以輕松地創(chuàng)建庫和表,簡化工作。然而,目前缺乏可以導出索引結(jié)構(gòu)的文件。
發(fā)明內(nèi)容本發(fā)明提供一種數(shù)據(jù)庫索引建立方法及裝置,以解決上述問題。本發(fā)明提供一種數(shù)據(jù)庫索引建立方法,包括以下步驟。獲取所有數(shù)據(jù)庫信息。獲取每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息。根據(jù)獲取的數(shù)據(jù)表信息得到索引信息,并根據(jù)索引信息建立索引文件。其中,索引信息指攜帶索引類型、索引名字以及索引限制條件的索引語句。本發(fā)明還提供一種數(shù)據(jù)庫索引建立裝置,包括數(shù)據(jù)庫信息獲取模塊、數(shù)據(jù)表信息獲取模塊、索引信息獲取模塊以及索引文件建立模塊。其中,數(shù)據(jù)庫信息獲取模塊,用于獲取所有數(shù)據(jù)庫信息。數(shù)據(jù)表信息獲取模塊,連接數(shù)據(jù)庫信息獲取模塊,用于獲取每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息。索引信息獲取模塊,連接數(shù)據(jù)表信息獲取模塊,用于根據(jù)獲取的數(shù)據(jù)表信息得到索引信息。索引文件建立模塊,連接索引信息獲取模塊,用于根據(jù)索引信息建立索引文件。其中,索引信息指攜帶索引類型、索引名字以及索引限制條件的索引語句。相較于先前技術(shù),根據(jù)本發(fā)明提供的數(shù)據(jù)庫索引建立方法及裝置,無需登入數(shù)據(jù)庫,僅從索引文件即可得到索引信息,進而得知索引是否缺失或者是否優(yōu)良。此外,在主從復制數(shù)據(jù)庫系統(tǒng)中,無需登入其他從庫一個個創(chuàng)建索引,可以直接導入索引文件進行索引,從而節(jié)省了時間。另外,索引信息的改動只需要在索引文件中進行,操作方便。此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中圖1所示為根據(jù)本發(fā)明的較佳實施例提供的數(shù)據(jù)庫索引建立方法的流程圖;圖2所示為根據(jù)本發(fā)明的較佳實施例提供的數(shù)據(jù)庫索引建立裝置的示意圖。具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖1所示為根據(jù)本發(fā)明的較佳實施例提供的數(shù)據(jù)庫索引建立方法的流程圖。如圖1所示,本發(fā)明較佳實施例提供的數(shù)據(jù)庫索引建立方法包括步驟101103。于步驟101,獲取所有數(shù)據(jù)庫信息。具體而言,通過命令showdatabases獲得所有數(shù)據(jù)庫信息。同時,將這些數(shù)據(jù)庫信息記錄到數(shù)組中,以供后續(xù)使用。于步驟102,獲取每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息。具體而言,通過命令showtables輪詢每個數(shù)據(jù)庫以獲得所有數(shù)據(jù)表信息。同時,將這些數(shù)據(jù)表信息記錄到另外一個數(shù)組中,以供后續(xù)使用。于步驟103,根據(jù)獲取的數(shù)據(jù)表信息得到索引信息,并根據(jù)索引信息建立索引文件。其中,索引信息指攜帶索引類型、索引名字以及索引限制條件的索引語句。如下以數(shù)據(jù)庫people為例進行詳細說明。數(shù)據(jù)庫people中包括數(shù)據(jù)表teacher以及數(shù)據(jù)表student。其中,數(shù)據(jù)表teacher信息如下。教師IDIntPrimary教師名字CharNotnull教師年齡DatetimeNotnull教師住址Char(20)NotNull此外,通過命令showcreatetableteacher可以得到如下索引信息(Iteacher|CREATETABLE~teacher"(、icfint(11)NOTNULLAUT0_INCREMENT,“teacher_name~varchar(64)NOTNULL,“teacher_birth~datetimeNOTNULL,“teacher_addr~varchar(16)NOTNULL,PRIMARYKEYicf),KEY、inx_teacher_name、(、teacher_name、(10)))ENGINE=MyISAMDEFAULTCHARSET=gbk另外,通過命令showindexfromteacher可以得到如下索引信息。TableNon_unique|Key_name|Seq_in_index|Co1umn_nameCollation|Cardinality|Sub—part|Packed|Null|Index—type|Commentteacher01PRIMARY|11idANULLINULLIIBTREEINULLteacher1insstuname1teachernameA10INULL此外,數(shù)據(jù)表student|HBTREE如下。學生IDIntPrimary學生姓名CharNotnull學生愛好VarcharNull權(quán)利要求1.一種數(shù)據(jù)庫索引建立方法,其特征在于,包括以下步驟獲取所有數(shù)據(jù)庫信息;獲取每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息;根據(jù)獲取的數(shù)據(jù)表信息得到索引信息,并根據(jù)所述索引信息建立索引文件,其中,所述索引信息指攜帶索引類型、索引名字以及索引限制條件的索引語句。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引建立方法,其特征在于,通過命令showdatabases獲得所有數(shù)據(jù)庫信息。3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引建立方法,其特征在于,通過命令showtables獲得每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息。4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引建立方法,其特征在于,針對每個數(shù)據(jù)表,通過命令showindexfrom數(shù)據(jù)表名稱以及命令showcreatetable數(shù)據(jù)表名稱,得到索引信息。5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫索引建立方法,其特征在于,所述數(shù)據(jù)庫信息以及所述數(shù)據(jù)表信息分別保存至數(shù)組。6.一種數(shù)據(jù)庫索引建立裝置,其特征在于,包括數(shù)據(jù)庫信息獲取模塊,用于獲取所有數(shù)據(jù)庫信息;數(shù)據(jù)表信息獲取模塊,連接所述數(shù)據(jù)庫信息獲取模塊,用于獲取每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息;索引信息獲取模塊,連接所述數(shù)據(jù)表信息獲取模塊,用于根據(jù)獲取的數(shù)據(jù)表信息得到索引信息;以及索引文件建立模塊,連接所述索引信息獲取模塊,用于根據(jù)所述索引信息建立索引文件,其中,所述索引信息指攜帶索引類型、索引名字以及索引限制條件的索引語句。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫索引建立裝置,其特征在于,所述數(shù)據(jù)庫信息以及所述數(shù)據(jù)表信息分別保存至數(shù)組。全文摘要本發(fā)明提供一種數(shù)據(jù)庫索引建立方法及裝置。上述方法包括以下步驟。獲取所有數(shù)據(jù)庫信息。獲取每個數(shù)據(jù)庫中的所有數(shù)據(jù)表信息。根據(jù)獲取的數(shù)據(jù)表信息得到索引信息,并根據(jù)索引信息建立索引文件。其中,索引信息指攜帶索引類型、索引名字以及索引限制條件的索引語句。文檔編號G06F17/30GK102270231SQ20111020503公開日2011年12月7日申請日期2011年7月21日優(yōu)先權(quán)日2011年7月21日發(fā)明者胡加明申請人:蘇州闊地網(wǎng)絡科技有限公司