dedecms分表教程

  很多用dede织梦做网站的朋友都会遇到数据过大的情况,这样就造成生成html速度缓慢打开栏目列表变慢等等问题,笔者根据织梦论坛部分帖子总结出默认文章模型转移数据到其他新建模型的简单教程,现在分享出来,高手可以忽略.

  强力建议你在进行以下操作时先备份数据库!!!丢失或者任何错误本人概不负责。使用以下方法本人成功转移.

  首页建立新模型--系统模型-新建字段-内容(body)html文本 固化字段。

  现在设定下演示的相关说明,原模型是文章模型,channel=1,附加表为dede_addonarticle;新建模型X ,channel=19,附加表为dede_addon19;原栏目typeid=300 新建以X为内容模型的栏目typeid=400

  接下来开始行动,在phpmyadmin或者织梦自带的SQL命令行工具 运行以下命令,特别说明:因为新建模型和原普通文章模型主键一样的话会无法插入数据,提示错误:#1062 - Duplicate entry '343' for key 'PRIMARY' ,所以要在phpmyadmin里修改下新建模型附加表dede_addon19的主键aid数据类型为bigint,具体方法可以百度。

  我们继续,输入:

  insert into dede_addon19 select * from dede_addonarticle where typeid=300;

  上面这句SQL的意思是 挑选出dede_addonarticle(也就是普通文章)表里栏目为300的内容插入到新建的 dede_addon19(也就是X模型)

  再次运行,输入:

  update dede_archives set channel =replace(channel ,'1','19') where typeid=300;

  意思是 把dede_archives主表里栏目为300的数据的channel 由1改成19;

  再次运行,输入:

  update dede_archives set typeid =replace(typeid ,'300','400') where channel=19

  同理把channel为19 的数据栏目由300改为400;

  OK了、文章路径什么都设置好,更新下栏目缓存,生成栏目列表及内容,OK了!

  这个方法适用于大量dede_addonarticle6184.html">数据表的分割,比如你这个数据表已经500M以上那么分出来势在必行。

  不够完美的地方是:dede_archives主表没有分开。希望高手可以补充。

  本文由《求职招聘服务网》-www.cnhro.com原创首发,转载请注明,本人保留追究责任的权益!

时间: 2024-09-21 22:31:51

dedecms分表教程的相关文章

分享DEDECMS建立模型及分表操作经验

2004年,刚建站的时候,我曾经用过http://www.aliyun.com/zixun/aggregation/16485.html">DEDE2.0,那个时候由于不太懂PHP,就没有搞下去. 后来在DEDE3.1时用上了他,感觉不错,但是由于他跟DZ的混合度不高,所以就放弃了.改用了SUP+DZ的模式. 由于时间的推移,发现SUP官方基本上停止了SUP的开发,再加上,SUP有自身的毛病,就索性放弃了SUP的使用,虽然被百度收录了好几万页,但也义无反顾的换了DEDECMS. 目前我的站

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

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 2004年,刚建站的时候,我曾经用过DEDE2.0,那个时候由于不太懂PHP,就没有搞下去. 后来在DEDE3.1时用上了他,感觉不错,但是由于他跟DZ的混合度不高,所以就放弃了.改用了SUP+DZ的模式. 由于时间的推移,发现SUP官方基本上停止了SUP的开发,再加上,SUP有自身的毛病,就索性放弃了SUP的使用,虽然被百度收录了好几万页,

DEDECMS自定义表单提交后的跳转页面的教程

本文实例讲述了DEDECMS自定义表单提交后的跳转链接修改方法.分享给大家供大家参考.具体实现方法如下: 自定义表单,点击提交后,默认跳转到首页,我们打开plus/diy.php,里面有这样一段代码 if($dsql->executenonequery($query)) { $id = $dsql->GetLastID(); if($diy->public == 2) { //diy.php?action=view&diyid={$diy->diyid}&id=$i

MySQL 分表优化方法与实例代码

1.试验PROCEDURE. DELIMITER $$ DROP PROCEDURE `t_girl`.`sp_split_table`$$ CREATE PROCEDURE `t_girl`.`sp_split_table`() BEGIN declare done int default 0; declare v_user_name varchar(20) default ''; declare v_table_name varchar(64) default ''; -- Get all

利用分表存储来提高网站负载与性能

▲支付宝资深数据库教程架构师童家旺 第二.不访问不必要的数据:使用B*Tree/hash等方法定位必要的数据.使用column Store或分表的方式将数据分开存储.使用Bloom filter算法排除空值查询. 第三.合理的利用硬件来提升访问效率:使用缓存消除对数据的重复访问.使用批量处理来减少磁盘的Seek操作.使用批量处理来减少网络的Round Trip.使用SSD来提升磁盘访问效率. 响应时间和吞吐量之间的关系 1.性能.衡量完成特定任务的速度或效率. 2.响应时间.衡量系统与用户交互式

透明的分库分表方案

问题提出 随着应用规模的不断扩大,单机数据库就慢慢无法满足应用的需要了,这主要表现在如下方面: 存量数据越来越大,查询速度越来越慢 访问并发越来越大,磁盘IO.网络IO.CPU都慢慢成为瓶颈 事务数越来越多,事务冲突越来越严重,导致TPS越来越少 这个时候,有的人采用了换商用数据库的方案比如Oracle,然后用Oracle的RAC方式进行水平扩展.但是带来的缺点也比较明显,第一是成本太高,一般人吃不消:第二,管理复杂度较单节点有非常大的提升,风险及管理成本也相应增加:第三,对人员的水平要求更高,

分库 分区 分表-数据库大表是分库,分区,还是分表?

问题描述 数据库大表是分库,分区,还是分表? 10C 数据库大表是分库,分区,还是分表?数据库大表是分库,分区,还是分表?数据库大表是分库,分区,还是分表? 解决方案 要根据实际情况来,有的数据读的多,写的少,有的数据写的多读的少,有的数据查询多,读写都少.不同情况有不同的措施. 解决方案二: 大表首先是分区.降低文件io,然后再对应数据的分表 解决方案三: 1.当数据库压力很大时分区集群,比如有成千上完客户端同一时间频繁访问数据库,每个字段内容又很大时,比如网站的文章库 2.当有大量陈年数据在

数据库分表后,并发环境下,生成全局id生成的几种方式

最近一个项目由于数据量变大,需要进行数据分表.数据存储在淘宝的tddl上.分表后,原先的自增id就不能使用了.tddl对java支持很好,分表后无需考虑全局id的问题.但是这个项目使用的是php进行开发,必须自己生成全局id.以下列出几种分表方案,仅当抛砖引玉. 方法1:使用CAS(compare and swap) 其实这里并不是严格的CAS,而是使用了比较交换原子操作的思想. 生成思路如下: 每次生成全局id时,先从sequence表中获取当前的全局最大id.然后在获取的全局id上做加1操作

ThinkPHP处理海量数据分表机制详细代码及说明

  应用ThinkPHP内置的分表算法处理百万级用户数据. 数据表: house_member_0 house_member_1 house_member_2 house_member_3 模型中 class MemberModel extends AdvModel { protected $partition = array('field'=>'username','type'=>'id','num'=>'4'); public function getDao($data=array(