dede
進(jìn)行數(shù)據(jù)模型建立及數(shù)據(jù)庫分表操作
時間: 2018-12-01 10:11
閱讀: 次
作者:素材無憂網(wǎng)
隨著DEDE使用時間越來越長,文章越來越多,DEDE的主要文章模型article在MYSQL里表名dede_addonarticle將會越來越大,MYSQL讀取處理就會越來越慢,因此很有必要對DEDE的文章模型的數(shù)據(jù)庫進(jìn)行分表操作。當(dāng)然如果你在看到這篇文章的時候,正要開始用DEDE建站,那我的建議是,在開始之前多新建幾個內(nèi)容模型,然后一個欄目對應(yīng)一個內(nèi)容模型,這樣就只需要進(jìn)行步驟一,不用后面的數(shù)據(jù)庫操作了。
言歸正傳,在開始MYSQL分表之前,你最好把全站數(shù)據(jù)都備份一下,防止出錯,然后需要先新建一個內(nèi)容模型,方法是點(diǎn)擊-核心-頻道模型-內(nèi)容模型管理-增加新模型,建立模型之后要新建一個字段,名字是:文章正文,英文名是:body,要選擇html文本存儲模式。固定發(fā)布模式。
建完之后就能在MYSQL里看到多了兩個數(shù)據(jù)表,一個是dede_archivesXX,一個是dede_addonXX,可以自己取名。我們主要的操作在這兩個表上進(jìn) 行。
步驟一、在DEDE后臺進(jìn)行內(nèi)容模型新建
當(dāng)然如果你都只用文章模型那還有個簡單的操作辦法:
首先進(jìn)入“頻道模型”找到“普通文章”,“普通文章”后面有個復(fù)制操作,看到了就點(diǎn)擊復(fù)制,這樣就能增加一個單獨(dú)的表了,也就是分表。
下面的圖片是復(fù)制出來的界面圖片
把“新頻道名稱”你自己改下,比如資訊欄目需要用這個表就改成資訊”,方便以后區(qū)分。默認(rèn)的表名字是dede_addonarticle17,這個數(shù)字可以改
建立好表之后,再創(chuàng)建欄目,注意,創(chuàng)建欄目的時候“內(nèi)容模型”要選擇剛才你復(fù)制的那個,就是資訊|article17”
步驟二:對舊有數(shù)據(jù)進(jìn)行遷移,MYSQL操作
這一步是我們對原來舊模型里面的數(shù)據(jù),遷移到新增加模型的數(shù)據(jù)庫中的主要操作,進(jìn)入后臺系統(tǒng)管理-系統(tǒng)帳號管理-SQL命令運(yùn)行器
在下面的運(yùn)行小窗口運(yùn)行SQL的命令。
主要命令步驟如下:
1、insert into dede_addonX select * from dede_addonarticle where typeid=Y
這個dede_addonX就是剛剛我們建立的兩個數(shù)據(jù)庫中的一個,是一個附表。
這句話的意思是我們把dede_addonarticle(原來的大表)中的某一個檔目(文章欄目數(shù)字號Y)中的所有數(shù)據(jù)復(fù)制到dede_addonX這個表里。
2、insert into dede_archivesX select * from dede_archives where typeid=Y
這個dede_archivesX是我們剛剛建立模型中的主索引表,這句話的意思和上句一樣。
3、UPDATE `dede_full_search` SET `channelid` = 'X' WHERE `dede_full_search`.`typeid` =Y
將兩個表復(fù)制完之后我,我們需要把我們DEDE數(shù)據(jù)的主索引表進(jìn)行較正。
4、UPDATE `dede_archivesX` SET `channel` =X WHERE `typeid` =Y
再將我們的文章模型索引表進(jìn)行較正
5、delete from dede_addonarticle where typeid=Y
將原來已經(jīng)復(fù)制過的數(shù)據(jù)在原表刪除。
步驟三:對新模型新欄目進(jìn)行必要設(shè)置
頻道管理,相關(guān)檔目修改-基本設(shè)置
內(nèi)容模型選定剛剛建立的那個模型,然后點(diǎn)高級設(shè)置,要設(shè)定相對應(yīng)的模板。然后最下面的繼承選項(xiàng),選定之后整個欄目都會按這個設(shè)置順承。
最后,檢查一下是不是正確,點(diǎn)進(jìn)這個新欄目看看里面文章是不是能正常顯示,如果能顯示,說明你成功了。
這個操作主要應(yīng)用于文章模型,其它模型大同小異,也是可以實(shí)現(xiàn)。DEDECMS的分表操作相當(dāng)于把一個大水庫分成若干個小水庫,然后通知接水的人,去小水庫接水。省卻了全部擁擠在大水庫邊排隊(duì)的問題。
標(biāo)簽: