• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

DEDECMS建立模型及分表操作实战分享

来源: www.dedecms8.com 编辑:织梦吧 时间:2011-06-08点击:

这个毛病并不怪DEDE,只能怪我,我的栏目3000,数据库将近1G,25万文章。
栏目页还可以忍受,基本上速度还可以,但是一生成文档页就出问题,反应速度极慢,生成HTML极慢,20一组生成一次要3-5分钟,这速度没法活。而且最要命是服务器老是CPU爆100%,太郁闷了。
DEDECMS5.3出来之后也没有什么改进,听别人说DEDECMS的列表模式是胎里带的毛病,非常慢,数据量一旦超过20万,就必须要分表。
我就开始的艰难的学习过程。经过一些好人的指点,最后让我学会了这个方法,现在我已经把数据分表存储了,速度刷刷的,呵呵。
现在和大家分享一下。

首 先,要先建立一个模型,建立模型的方法寂寞天涯已经写过专门的教程,不过要注意的是建立模型之后要新建一个字段,名字是:文章正文,英文名是:body, 要选择html文本存储模式。固定发布模式。这样你就可以看到多了两个数据表,一个是dede_archivesXX,一个是dede_addonXX, 可以自己取名。我们主要的操作在这两个表上进行。


然后开始我们的主要操作:后台系统管理-系统帐号管理-SQL命令运行器

看到下面的运行小窗口了吧,我们在这里运行SQL的命令。

主要命令步骤如下:
一、insert into dede_addonX select * from dede_addonarticle where typeid=Y
这个dede_addonX就是刚刚我们建立的两个数据库中的一个,是一个附表。
这句话的意思是我们把dede_addonarticle(原来的大表)中的某一个档目(文章栏目数字号Y)中的所有数据复制到dede_addonX这个表里。
二、insert into dede_archivesX select * from dede_archives where typeid=Y
这个dede_archivesX是我们刚刚建立模型中的主索引表,这句话的意思和上句一样。
三、UPDATE `dede_full_search` SET `channelid` = 'X' WHERE  `dede_full_search`.`typeid` =Y
将两个表复制完之后我,我们需要把我们DEDE数据的主索引表进行较正。

四、UPDATE `dede_archivesX` SET `channel` =X WHERE `typeid` =Y

再将我们的文章模型索引表进行较正


五、delete from dede_addonarticle where typeid=Y
将原来已经复制过的数据在原表删除。

第六步、频道管理,相关档目修改-基本设置




内容模型选定刚刚建立的那个模型,然后点高级设置,要设定相对应的模板。然后最下面的继承选项,选定之后整个栏目都会按这个设置顺承。
    


最后,大功告成,大家可以看看里面的档案了,如果能显示,说明你成功了。

这个操作主要应用于文章模型,其它模型我还没有实验,不过大同小异,应该可以实现。
打个比方,这就相当于,把一个大水库分成若干个小水库,然后通知接水的人,去小水库接水。这就是DEDECMS的分表。

标签:

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1978130638@qq.com ,  QQ