DEDE站點一大,文章一多,就會發現前期沒規劃好,沒進行分表,造成數據庫龐大臃腫,執行效率低了。這個時候,其實還可以補救,就是對頻道進行分表操作,將你網站的一個個頻道新建一個個模型,用來對應不同的數據庫表進行分表操作。這里涉及到數據庫操作,因此需要備份下數據庫必加保險。
首先在織夢后臺建立新內容模型 ,(核心-頻道模型-內容模型管理-然后復制文章模型或者你要用的某個模型)再用以下的MYSQL 語句 將以前的欄目文章轉入新模型,
假設以前的欄目為文章模型,欄目ID 為 31,新建模型ID為7(默認的文章模型為1,模型ID可以在內容模型管理最左側看到),使用新建模型建立的新文章欄目ID為52,數據庫中新模型附加表為dede_addonarticle17
執行以下操作
1、將原模型下的ID31的欄目內的全部內容轉移到新模型dede_addonarticle17
INSERT INTO dede_addonarticle17(aid,typeid,redirecturl,userip,body) SELECT aid,typeid,redirecturl,userip,body FROM dede_addonarticle where dede_addonarticle.typeid =31
2、刪除原欄目下的全部內容(已經復制一份到新模型下了)
DELETE FROM `dede_addonarticle` WHERE typeid =31
3、將關聯模型的地方全部改寫一遍,將原來定義欄目ID31對應的頻道模型全部由1改成7
update dede_arctiny set channel=7 where typeid=31
update dede_archives set channel=7 where typeid=31
update dede_arctype set channeltype =7 where id =31
4、修改關聯欄目,將原來調用31號欄目的地方,全部改為52號欄目
update dede_addonarticle17 set typeid=52 where typeid=31
update dede_archives set typeid=52 where typeid=31
update dede_arctiny set typeid=52 where typeid=31
5、刪除舊欄目
DELETE FROM dede_arctype WHERE id=31
以上則是織夢DEDECMS分表遷移內容模型轉入新建模型的方法的全部內容,需要注意的是,所有sql語句均使用的默認數據庫前綴,如您的數據庫前綴做過自定義,需修改為您自定義的數據庫前綴。另外,所有操作請先備份在做操作!