引列名生成模塊4根據(jù)計(jì)算模塊3計(jì)算出的次數(shù)占比生成索引列名并通過所以重建模塊根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫自動(dòng)創(chuàng)建最佳的索引,并進(jìn)行動(dòng)態(tài)更新。
[0052]進(jìn)一步的,所述根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的系統(tǒng)還包括:設(shè)置模塊6,用于設(shè)置預(yù)設(shè)時(shí)間段以及預(yù)設(shè)時(shí)段。
[0053]進(jìn)一步的,所述設(shè)置模塊6包括:
[0054]第一統(tǒng)計(jì)模塊61,用于統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫的訪問量;
[0055]第一設(shè)置模塊62,用于設(shè)置數(shù)據(jù)庫的訪問量最低的時(shí)段為預(yù)設(shè)時(shí)段。
[0056]從上述描述可知,通過設(shè)置數(shù)據(jù)庫的訪問量最低的時(shí)段為預(yù)設(shè)時(shí)段,從而在數(shù)據(jù)庫訪問量最低的時(shí)段創(chuàng)建數(shù)據(jù)庫索引,不影響用戶正常訪問數(shù)據(jù)庫。
[0057]請(qǐng)參照?qǐng)D1,本發(fā)明的實(shí)施例一為:
[0058]—種根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,包括:
[0059]S1、創(chuàng)建數(shù)據(jù)庫日志,記錄對(duì)數(shù)據(jù)表進(jìn)行的數(shù)據(jù)庫操作,所述數(shù)據(jù)庫操作包括查詢、插入及修改;
[0060]S2、統(tǒng)計(jì)一天內(nèi)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù);
[0061]S3、根據(jù)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù)計(jì)算查詢、插入、修改的次數(shù)占比;
[0062]S4、根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名;具體為:對(duì)查詢次數(shù)占比高于50%的列創(chuàng)建索引列名或者保存已有的索引列名;對(duì)插入或修改次數(shù)占比高于50%的列不創(chuàng)建索引列名或者刪除已有的索引列名;
[0063]S5、在一天內(nèi)數(shù)據(jù)庫訪問量最低的時(shí)段根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引。
[0064]例如,對(duì)一張10*3的數(shù)據(jù)表創(chuàng)建索引,創(chuàng)建日志記錄,記錄一天內(nèi)對(duì)這張數(shù)據(jù)表進(jìn)行的數(shù)據(jù)庫操作,比如對(duì)第一行第二列進(jìn)行查詢,第五行第二列進(jìn)行插入,第三行第一列進(jìn)行修改,等等。統(tǒng)計(jì)每一列的查詢、插入及修改次數(shù)以及次數(shù)占比,比如第一列查詢占比70 %,第二列查詢占比85 %,第三列插入或修改占比60 %,則為第一列和第二列創(chuàng)建索引列名,第三列不創(chuàng)建索引列名,如果凌晨時(shí)段對(duì)該數(shù)據(jù)表基本上不訪問,則在凌晨時(shí)段根據(jù)生成的索引列名為該數(shù)據(jù)表創(chuàng)建索引。
[0065]如果該數(shù)據(jù)表已經(jīng)有索引,而第一列查詢占比70 %,第二列查詢占比85 %,第三列插入或修改占比60%,則保存原第一列和第二列的索引列名,刪除原第三列的索引列名,根據(jù)新的索引列名為該數(shù)據(jù)表創(chuàng)建索引。
[0066]請(qǐng)參照?qǐng)D2,本發(fā)明的實(shí)施例二為:
[0067]—種根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的系統(tǒng),包括:
[0068]設(shè)置模塊6,用于設(shè)置預(yù)設(shè)時(shí)間段以及預(yù)設(shè)時(shí)段;所述設(shè)置模塊6包括:第一統(tǒng)計(jì)模塊61,用于統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫的訪問量;第一設(shè)置模塊62,用于設(shè)置數(shù)據(jù)庫的訪問量最低的時(shí)段為預(yù)設(shè)時(shí)段。
[0069]創(chuàng)建模塊1,用于創(chuàng)建數(shù)據(jù)庫日志,記錄對(duì)數(shù)據(jù)表進(jìn)行的數(shù)據(jù)庫操作,所述數(shù)據(jù)庫操作包括查詢、插入及修改;
[0070]統(tǒng)計(jì)模塊2,用于統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù);
[0071]計(jì)算模塊3,用于根據(jù)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù)計(jì)算查詢、插入、修改的次數(shù)占比;
[0072]索引列名生成模塊4,用于根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名;
[0073]索引創(chuàng)建模塊5,用于在預(yù)設(shè)時(shí)段內(nèi)根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引。
[0074]綜上所述,本發(fā)明提供的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法及系統(tǒng),通過設(shè)置模塊設(shè)置預(yù)設(shè)時(shí)間段和預(yù)設(shè)時(shí)段,創(chuàng)建模塊創(chuàng)建數(shù)據(jù)庫日志,從而能夠記錄對(duì)數(shù)據(jù)表中每一項(xiàng)內(nèi)容的數(shù)據(jù)庫操作,通過統(tǒng)計(jì)模塊能夠統(tǒng)計(jì)出預(yù)設(shè)時(shí)間段內(nèi)對(duì)數(shù)據(jù)表每一列查詢、插入、修改的次數(shù),進(jìn)而通過計(jì)算模塊計(jì)算出每一列查詢、插入、修改的次數(shù)占比,由于查詢時(shí)利用索引可以提高查詢速度,而插入和修改時(shí)利用索引則需要對(duì)索引進(jìn)行修改降低了性能,因此根據(jù)查詢、插入及修改的次數(shù)占比即可判斷此列是否需要?jiǎng)?chuàng)建索引,因而通過索引列名生成模塊根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名;再通過索引創(chuàng)建模塊在預(yù)設(shè)時(shí)段內(nèi)根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引,既不會(huì)影響用戶訪問數(shù)據(jù)庫,又自動(dòng)創(chuàng)建和更新了索引。
[0075]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,其特征在于,包括: 創(chuàng)建數(shù)據(jù)庫日志,記錄對(duì)數(shù)據(jù)表進(jìn)行的數(shù)據(jù)庫操作,所述數(shù)據(jù)庫操作包括查詢、插入及修改; 統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù); 根據(jù)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù)計(jì)算查詢、插入、修改的次數(shù)占比; 根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名; 在預(yù)設(shè)時(shí)段內(nèi)根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引。2.根據(jù)權(quán)利要求1所述的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,其特征在于,所述“根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名”具體為: 對(duì)查詢次數(shù)占比高于50%的列創(chuàng)建索引列名; 對(duì)插入或修改次數(shù)占比高于50 %的列不創(chuàng)建索引列名。3.根據(jù)權(quán)利要求1所述的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,其特征在于,所述“根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名”具體為: 對(duì)查詢次數(shù)占比高于50%的列保存索引列名; 對(duì)插入或修改次數(shù)占比高于50 %的列刪除索引列名。4.根據(jù)權(quán)利要求1所述的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,其特征在于,所述預(yù)設(shè)時(shí)間段為一天。5.根據(jù)權(quán)利要求1所述的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,其特征在于,所述預(yù)設(shè)時(shí)段為預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫訪問量最低的時(shí)段。6.一種根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的系統(tǒng),其特征在于,包括: 創(chuàng)建模塊,用于創(chuàng)建數(shù)據(jù)庫日志,記錄對(duì)數(shù)據(jù)表進(jìn)行的數(shù)據(jù)庫操作,所述數(shù)據(jù)庫操作包括查詢、插入及修改; 統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù); 計(jì)算模塊,用于根據(jù)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù)計(jì)算查詢、插入、修改的次數(shù)占比; 索引列名生成模塊,用于根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名; 索引創(chuàng)建模塊,用于在預(yù)設(shè)時(shí)段內(nèi)根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引。7.根據(jù)權(quán)利要求6所述的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的系統(tǒng),其特征在于,還包括:設(shè)置模塊,用于設(shè)置預(yù)設(shè)時(shí)間段以及預(yù)設(shè)時(shí)段。8.根據(jù)權(quán)利要求7所述的根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的系統(tǒng),其特征在于,所述設(shè)置模塊包括: 第一統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫的訪問量; 第一設(shè)置模塊,用于設(shè)置數(shù)據(jù)庫的訪問量最低的時(shí)段為預(yù)設(shè)時(shí)段。
【專利摘要】本發(fā)明提供了一種根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的方法,包括:創(chuàng)建數(shù)據(jù)庫日志,記錄對(duì)數(shù)據(jù)表進(jìn)行的數(shù)據(jù)庫操作,所述數(shù)據(jù)庫操作包括查詢、插入及修改;統(tǒng)計(jì)預(yù)設(shè)時(shí)間段內(nèi)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù);根據(jù)數(shù)據(jù)庫操作的總次數(shù)以及對(duì)數(shù)據(jù)表中每一列進(jìn)行查詢、插入、修改的次數(shù)計(jì)算查詢、插入、修改的次數(shù)占比;根據(jù)查詢、插入以及修改的次數(shù)占比生成索引列名;在預(yù)設(shè)時(shí)段內(nèi)根據(jù)索引列名創(chuàng)建數(shù)據(jù)庫索引;本發(fā)明還提供一種根據(jù)日志分析自動(dòng)創(chuàng)建數(shù)據(jù)庫索引的系統(tǒng),能夠?qū)?shù)據(jù)庫自動(dòng)創(chuàng)建最佳的索引,并進(jìn)行動(dòng)態(tài)更新。
【IPC分類】G06F17/30
【公開號(hào)】CN105045851
【申請(qǐng)?zhí)枴緾N201510392124
【發(fā)明人】陳叢亮, 劉德建, 毛新生
【申請(qǐng)人】福建天晴數(shù)碼有限公司
【公開日】2015年11月11日
【申請(qǐng)日】2015年7月7日