帝国cms使用sql批量删除重复文章
时间:2023年09月22日
/来源:网络
/编辑:佚名
这篇文章是为了自己维护的一个帝国站做准备的。
所有SQL执行前,都请做好该有的备份,帝国的备份功能很强大,请一定要执行,不然届时出了任何问题,请不要哭鼻子,也不要找我,跟我没关系。
从网上采集了大量的内容后,发现很多重复的记录存在,所以需要删除一波,当然系统自带了特技可以直接找到重复记录并且删除,系统的这种做法对于记录数不多的站来说,很好用,但是对于百万级的数据量来说,就有点不够用了(刷新列表速度慢的一笔),为此我特地找了帝国cms的表结构,并且参考对应表结构,找到了删除的方式,从sql中删除记录,会导致一个问题,如果前台已经生成了html静态页面的时候,是不会对应删除的,考虑到成百上千万的数据量,这点没用的静态页面也就很可笑了。
我的思路如下:
首先查找重复记录-》将重复记录的id记录到临时表中-》删除附表内对应标题的记录-》删除主表内对应id的记录-》进入后台刷新全部点一遍(数据量巨他妈的大的情况下,最少也要点下更新缓存记录中的几个链接)
前提:
建表语句:
CREATE TABLE `djc8_temp` (
`title` text NOT NULL
) ;
临时表可以很简单,需要去除重复行达到记录重复记录的功能
10位的数字应该能满足大多数需求。
找到你要删除的记录栏目对应的数据表,具体可以在:系统-》系统表与数据模型-》管理数据表中找到,找到之后确定对应的表明,比如我新闻表:phome_ecms_news 是这个,那么对应的附表就是以这个开头的phome_ecms_news_data_1,_2_3等。
之后编写查询,我是根据文章的标题来进行判断是否重复记录的。
插入重复记录sql如下:
INSERT INTO djc8_temp
SELECT ID FROM PHOME_ECMS_NEWS
WHERE TITLE IN (
SELECT title FROM phome_ecms_news
GROUP BY title HAVING COUNT(*)>1
)
子查询先查出所有重复的记录,并且返回对应的标题,之后通过外头的查询查出对应标题对应的ID即可。然后再是插入到临时表中。
所有SQL执行前,都请做好该有的备份,帝国的备份功能很强大,请一定要执行,不然届时出了任何问题,请不要哭鼻子,也不要找我,跟我没关系。
从网上采集了大量的内容后,发现很多重复的记录存在,所以需要删除一波,当然系统自带了特技可以直接找到重复记录并且删除,系统的这种做法对于记录数不多的站来说,很好用,但是对于百万级的数据量来说,就有点不够用了(刷新列表速度慢的一笔),为此我特地找了帝国cms的表结构,并且参考对应表结构,找到了删除的方式,从sql中删除记录,会导致一个问题,如果前台已经生成了html静态页面的时候,是不会对应删除的,考虑到成百上千万的数据量,这点没用的静态页面也就很可笑了。
我的思路如下:
首先查找重复记录-》将重复记录的id记录到临时表中-》删除附表内对应标题的记录-》删除主表内对应id的记录-》进入后台刷新全部点一遍(数据量巨他妈的大的情况下,最少也要点下更新缓存记录中的几个链接)
前提:
建表语句:
CREATE TABLE `djc8_temp` (
`title` text NOT NULL
) ;
临时表可以很简单,需要去除重复行达到记录重复记录的功能
10位的数字应该能满足大多数需求。
找到你要删除的记录栏目对应的数据表,具体可以在:系统-》系统表与数据模型-》管理数据表中找到,找到之后确定对应的表明,比如我新闻表:phome_ecms_news 是这个,那么对应的附表就是以这个开头的phome_ecms_news_data_1,_2_3等。
之后编写查询,我是根据文章的标题来进行判断是否重复记录的。
插入重复记录sql如下:
INSERT INTO djc8_temp
SELECT ID FROM PHOME_ECMS_NEWS
WHERE TITLE IN (
SELECT title FROM phome_ecms_news
GROUP BY title HAVING COUNT(*)>1
)
子查询先查出所有重复的记录,并且返回对应的标题,之后通过外头的查询查出对应标题对应的ID即可。然后再是插入到临时表中。
新闻资讯 更多
- 【帝国cms教程】帝国CMS模板变量$GLOBALS[navclassid]用法分析04-03
- 【帝国cms教程】鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总04-03
- 【帝国cms教程】怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!04-03
- 【帝国cms教程】帝国CMS模板$GLOBALS[navclassid]用法详解04-03
- 【帝国cms教程】帝国cms 7.5版列表页分页样式修改笔记04-02
- 【帝国cms教程】解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法04-02
- 【帝国cms教程】帝国CMS只备份栏目和模板的方法04-02
- 【帝国cms教程】帝国CMS怎样删除清空数据库记录?04-02
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法