mysql scrapy 重复数据_MySQL大数据量表中删除重复记录
MySQL大数据量表中删除重复记录
最近工作中需要抓取大量新闻,抓取的数据中由于一些原因存在一些重复数据,而整个数据表的记录数接近10万条,大小接近1个G,又在我自己的渣渣本本上,查询速度十分不理想,想要完成一个最基本的查询都很困难。在看了一些相关资料后终于找到解决方法,分享给大家参考。
首先说一下新闻表的大概结构,主要是包含id、title、content等字段,其中title字段使用较为频繁,并且需要用该字段判断重复记录,所以我们先给title字段添加索引。添加索引后我们可以使用以下语句来很快地查询出哪些title是重复的:
SELECT `title` FROM `info` GROUP BY `title` HAVING COUNT( `title` ) >1
但如果要一次查出重复字段的id的话就需要用到子查询了,可是子查询的效率很低,明显是不合适的,所以我们可以先建一个临时表:
CREATE TABLE `tmptable` AS (SELECT `title` FROM `info` GROUP BY `title` HAVING COUNT( `title` ) >1);
有了重复字段的标题接下来就可以查出重复字段的id了,我这里为了方便又建了一个临时表:
CREATE TABLE `idtable` AS ( SELECT min(a.`id`) AS id, a.`title` FROM `info` a, `tmptable` t WHERE a.`title` = t.`title` GROUP BY a.`title`);
这样删除重复字段就很容易了:
DELETE a FROM `info` a,`idtable` t WHERE a.`id` = t.`id`;
不过我这篇文章中的方法只适用于记录只重复了一次的情况,不过稍微改改就可以删除重复次数较多的记录.
来源:https://blog.skyx.in/archives/135/
我自己改成这样:
CREATE TABLE `idtable` AS (SELECT `title`,min(id) AS id FROM `info` GROUP BY `title` HAVING COUNT( `title` ) >1)
备注:在删除重复多条的情况下,尽量避免全表搜索,比如!=或者order by等等。
mysql scrapy 重复数据_MySQL大数据量表中删除重复记录相关推荐
- MSSQL如何在没有主键的表中删除重复数据
MSSQL如何在没有主键的表中删除重复数据 原文:MSSQL如何在没有主键的表中删除重复数据 为了对重复数据进行实验,下面建一个设计不太好(没有主键)表并插入了一些重复数据: create datab ...
- 温故知新MySQL--如何在MySQL表中删除重复行
2019独角兽企业重金招聘Python工程师标准>>> 如何在MySQL表中删除重复行 在实际应用中,会有需要删除重复数据的场景.这里简单介绍下如何删除重复的数据 1. 准备数据 C ...
- sql删除表中重复记录_SQL从SQL表中删除重复行的不同方法
sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows f ...
- mysql 如何删除重复的行_如何从mysql中的表中删除重复的行
我需要从 mysql中删除表中的重复记录. 所以我有一个表名"employee"字段是empid,empname,empssn 为了获得重复记录我写了一个查询 SELECT COU ...
- linux过滤重复字符串,linux – 从制表符分隔文件中删除重复的单词/字符串
我想使用Linux命令从大的制表符分隔文件中删除重复的单词/字符串. names john, cnn, mac, tommy, mac, patrick, ngc, discovery, john, ...
- python从后面删除重复项_如何从Python列表中删除重复项
如何从Python列表中删除重复项 了解如何从Python中的List中删除重复项技巧. 实例 从列表中删除任何重复项: mylist = ["a", "b", ...
- Excel表中删除重复项的详细操作
1,选中自己要删除重复项的区域, 2.点击工具栏 ->数据-->删除重复项. 3.此时会弹出对话框,选择""扩展选定区域"". 4.此时会弹出一个 ...
- mysql取出另外一张表的数据_mysql从一张表中取出数据插入到另一张表
最近有这样一个需求,原来的订单表wp_order设计不合理,原来的订单表没有订单详表,只有一张主表.现在是要重构订单表,分为订单主表wp_order_master和订单详表wp_order_detai ...
- python数据透视表计数去除重复_如何从pandas数据透视表中删除重复值?
因此,我试图将excel的一组指令复制到python中.问题是我对excel和正在发生的事情知之甚少.在 我有一个数据帧:no. name corrected no. corrected name 0 ...
最新文章
- mlxtend对sklearn进行扩展
- 上周热点回顾(12.18-12.24)
- RabbitMQ指南(上)
- 使用jackson转换类型时报Unrecognized field
- hdu 1116 欧拉路
- Kinect+OpenNI+OpenCV使用
- registerModulePath
- SMS动态查询部署安装XPSP3补丁
- linux查看文件第三行,学习linux第三课!新手必须掌握的linux命令
- [转]Hspice和Spice Explorer许可文件设置时环境变量FLEXLM_BATCH = 1的一些现象
- Linux下如何彻底删除用户
- 德普测试仪EOL软件,德普电气 E系列动力电池充放电测试设备
- NetCDF数据处理
- Invalid value for option“watch“:expected anObject,but got Function.
- getCause()、e.getMessage()产生的结果
- 计算机Excel删除和清除,电脑EXCEL表格一次删除所有空行的两种方法
- 基于OpenCV的刷脸考勤&人脸校验&用户管理系统(源码&教程)
- 6个高效办公的Excel小技巧,学会让你高效办公
- 常用的GNOME Shell 扩展
- 高中生计算机类特长怎么写,高中生个人特长自我评价范文(通用5篇)
热门文章
- python在哪个城市工资高_专硕好还是学硕好?哪个更好就业工资高?
- 窦学计算机基础期末考试,关于新生开学考计算机基础
- 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装2
- java valueof_Java Short类valueOf()方法及示例
- c# 命名空间命名规范_C#命名空间能力问题和解答 套装2
- 后台设计中容易被忽略的坑
- 【openMV与机器视觉】四旋翼飞行控制背景下的PID控制与摄像头算法简介
- 第三四五章(PTA复习)
- Python读写ini文件的封装类
- 配置babel_Babel 7 下配置 TypeScript 支持