爱杰奇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 316|回复: 3

[文本教程] 杰奇1.7数据库内重复章节的处理。

[复制链接]

15

主题

64

帖子

79

积分

注册会员

Rank: 2

积分
79
元宝
195
QQ
发表于 2019-1-14 17:55:15 | 显示全部楼层 |阅读模式
本帖最后由 老头草帽 于 2019-1-22 15:59 编辑

先列举奇葩看书网站真实数据以供参考:
书籍总数:2.2w本 章节总数:810w 通过如下检索,发现重复章节10w余。
20190114174854.png
查重命令如下:
  1. select articleid,chapterid,chaptername from jieqi_article_chapter group by articleid,chaptername having count(*) >1
复制代码

可以在navicat的查询分析器里粘贴并运行,800w条数据的检索时间为100秒,可以根据自己数据库内章节数量自行估算所需时间。

由于对mysql的语法结构不太了解,且与sqlserver有很多差异,在折腾了近两天后,终于实现了利用mysql存储过程删除重复章节。
20190114175455.png
如图所示,处理检索出来的10w条重复数据用时40分钟。

至此,数据库排除重复数据的功能完整实现。后续开始考虑更进一步的完善及优化。此文章首发在奇葩看书博客-http://www.78kanshu.net/?p=134


回复

使用道具 举报

15

主题

64

帖子

79

积分

注册会员

Rank: 2

积分
79
元宝
195
QQ
 楼主| 发表于 2019-1-29 19:58:36 | 显示全部楼层
已实现后台定时自动处理,且处理重复章节时不再影响网站浏览访问。杰奇数据库重复章节的处理至此完美解决。

以奇葩看书网站实际数据为例:7个采集器同时采集,每天新增重复章节约6-7千。
回复 支持 反对

使用道具 举报

15

主题

64

帖子

79

积分

注册会员

Rank: 2

积分
79
元宝
195
QQ
 楼主| 发表于 2019-1-29 20:02:11 | 显示全部楼层
当然,实现的前提是使用自建章节列表页、自建内容阅读页,彻底废除OPF。
回复 支持 反对

使用道具 举报

15

主题

64

帖子

79

积分

注册会员

Rank: 2

积分
79
元宝
195
QQ
 楼主| 发表于 2019-2-8 14:53:04 | 显示全部楼层
本帖最后由 老头草帽 于 2019-2-8 15:05 编辑

【2019-02-08更新】
杰奇章节去重已经优化完毕。

从最初的耗时近40分钟且影响网站访问,到现在的5秒且不影响网站访问。个人认为已经优化到了一个极限。
http://www.78kanshu.top/?p=134
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

爱杰奇论坛

GMT+8, 2019-4-19 01:55 , Processed in 1.206929 second(s), 42 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表