仿站咨询QQ:2587483189

手机微信同号:15850888840

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

医药卫生吧(http://www.yyws8.com)站长原创。本文并非软件,我站PR已经达到四,不需要做广告了,只是想把这个心得和大家分享,别无他意。

  2004年,刚建站的时候,我曾经用过DEDE2.0,那个时候由于不太懂PHP,就没有搞下去。

  后来在DEDE3.1时用上了他,感觉不错,但是由于他跟DZ的混合度不高,所以就放弃了。改用了SUP+DZ的模式。

   由于时间的推移,发现SUP官方基本上停止了SUP的开发,再加上,SUP有自身的毛病,就索性放弃了SUP的使用,虽然被百度收录了好几万页,但也义无反顾的换了DEDECMS。
  
   目前我的站(http://www.yyws8.com)是我构思许久的,已经基本成型,但是换了DEDE之后又发现DEDE也有毛病。

   这个毛病并不怪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
将原来已经复制过的数据在原表删除。

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




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


2009-1-7 16:24
最后,大功告成,大家可以看看里面的档案了,如果能显示,说明你成功了。

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

感觉大唐皇帝和其它帮助过我的人,现在把这些东西和大家分享一下,如果有什么问题我们可以讨论。AD一个,我的站,呵呵,http://www.yyws8.com.希望大家有时间光顾,提点意见。我的QQ是:1030894273,如果哪位朋友有需要可以联系我。


  • 上一篇:DEDECMS:[技巧]一级栏目和二级栏目标题修改方法
  • 下一篇:DEDECMS分类信息模块可以用“顶一下”功能的修改
  • 来源:未知//所属分类: 织梦仿站 /更新时间:2010-07-05
    相关仿站教程