帝国CMS7.X分表创建、迁移、移动至其它分表

524次阅读
没有评论

尽量做到:(具体根据服务器配置情况,以下是一般情况)
1、数据库50G,应新建主表;
2、满5W条数据新建副表,并将最新建的副表设为当前存放表;【也有建议10W条数据分一次表的】

帝国CMS分表建立

首先进入到帝国的后台,点击系统-数据表与系统模型-管理数据表,接下来就可以看到熟悉的画面了

在这里,找到自己需要修改或迁移的数据库,然后点击后边的管理分表即可

二、分表过程:
1、帝国cms后台有很简单的分表操作
2、后台>>系统>>数据表与系统模型>>管理数据表>>管理分表>>管理副表分表
3、建议按照系统默认的命名规则来命名,即数字序列

这里虽然说可以自己设置分表名称,但为了后边的操作方便,建议大家还是使用默认的数字分表就可以,不要随便的去更改。

三、建议使用phpmyadmin来进行sql命令转移数据
1、phpmyadmin>>点击需要操作的数据库>>右侧点SQL进入到命令操作行
2、输入以下命令:

INSERT INTO phome_ecms_news_data_2

SELECT * FROM phome_ecms_news_data_1 T2

WHERE T2.ID>= 50001 AND T2.ID<= 100000;

update phome_ecms_news set stb=REPLACE(stb,1,2)

WHERE ID>= 50001 AND ID<= 100000;

 

3、代码释义:
第一句:在phome_ecms_news数据表第2分表插入行
第二句:将phome_ecms_news数据表第1分表数据复制到数据表第2分表
第三句:限制即将复制的数据信息ID范围为50001到100000
第四句:更改数据表phome_ecms_news中分表ID以便查询【stb=REPLACE(stb,1,2)中表三就是stb=REPLACE(stb,1,3),表四就是stb=REPLACE(stb,1,4),以此类推】
第五句:限定即将修改的phome_ecms_news分表ID范围为50001到100000

 

4、命令执行完成之后,在phome_ecms_news_data_1分表中原有ID范围为50001到100000的数据已经没用了,需要将它清除掉以节省数据空间,删除命令如下:

DELETE FROM phome_ecms_news_data_1 WHERE ID>= 50001 AND ID<= 100000;

代码释义:删除原信息范围为50001到10000的信息

5.如果T3表,可以参考下面的代码

INSERT INTO phome_ecms_news_data_3

SELECT * FROM phome_ecms_news_data_1 T3

WHERE T3.ID>= 100001 AND T3.ID<= 150000;

update phome_ecms_news set stb=REPLACE(stb,1,3) WHERE ID>= 100001 AND ID<= 150000;

DELETE FROM phome_ecms_news_data_1 WHERE ID>= 100001 AND ID<= 150000;

 
吾爱互联
版权声明:本站原创文章,由 吾爱互联 2022-07-01发表,共计1259字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...