来自 数据库 2019-11-23 00:29 的文章
当前位置: 澳门三合彩票 > 数据库 > 正文

3的所有数据,发现数据库里面很多冗余数据

id name 1 a 2 b 3 c 1 a 2 b 3 c 以下的sql语句都以上面表mytable为准: 1、查询id=1,3记录的所有数据 复制代码 代码如下:select * from mytable where id in 2、删除id重复的数据,表中数据只剩下id=1,2,3的所有数据 复制代码 代码如下:select * into # from mytable truncate table mytable insert table select distinct * from # select * from table drop table # 3、创建一个新表 films_recent ,它的值包含来自表films 复制代码 代码如下:SELECT * INTO films_recent FROM films

本文实例讲述了删除MySQL重复数据的方法。分享给大家供大家参考。具体方法如下:

项目背景

在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据。因为在采集中,对于同一台设备,同一个时间点应该只有一个数据,然而,数据库中存入了多个数据。对于如何造成了这个结果,一时没有想清楚,但为了解决入库慢的问题,首先要删除冗余数据。

问题描述

数据库的表结构很简单,如下:复制代码 代码如下:+----------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------------+--------------+------+-----+---------+-------+| id | varchar | NO | PRI | NULL | || conf_id | varchar | NO | MUL | NULL | || insert_time | datetime | YES | | NULL | || cpu_usage | float | YES | | NULL | || memory_usage | float | YES | | NULL | || io_usage_write | float | YES | | NULL | || io_usage_澳门三合彩票,read | float | YES | | NULL | |+----------------+--------------+------+-----+---------+-------+查询所有数据量复制代码 代码如下:select count from perf_linux;输出 427366

查询所有时间点不同设备的数据量复制代码 代码如下:select count(distinct conf_id, insert_time) from perf_linux ;输出42387

由上面的数据可以看出,数据冗余了10倍左右。

再按时间分组看一下:复制代码 代码如下:select id, conf_id ,insert_time from perf_linux order by insert_time, conf_id;输出:复制代码 代码如下:| 2a79f7cd-43a9-4c7b-adb2-316b6c04283e | 1 | 2014-12-09 15:09:14 || 50d6f6c2-9c8b-45fd-98fd-2be211221cfd | 1 | 2014-12-09 15:09:14 || 740b52e1-e868-4074-ba36-74e2634401b3 | 1 | 2014-12-09 15:09:14 || 8b0096a4-9e85-417b-a131-e3505ca79a9c | 1 | 2014-12-09 15:09:14 || 90a9e882-5220-4508-a56f-8d4ab4a7929b | 1 | 2014-12-09 15:09:14 || d17403ed-24a4-45e8-b51b-2a95118383d9 | 1 | 2014-12-09 15:09:14 || 0c2da917-579b-4080-857d-7159f38b44ac | 2 | 2014-12-09 15:09:14 || 263083eb-8f63-4d2b-a03f-3320aa678735 | 2 | 2014-12-09 15:09:14 || d6c57a38-080b-465a-a55a-beafd9daf32d | 2 | 2014-12-09 15:09:14 || f672227b-1fb8-4b85-880d-2cc34b02880d | 2 | 2014-12-09 15:09:14 || f80020fe-6cb5-48ec-beb0-4e8ebeb0ca57 | 2 | 2014-12-09 15:09:14 || ff633a35-824d-49ba-b78c-5bcc5df8d1cc | 2 | 2014-12-09 15:09:14 || 5c41e48a-abfc-4108-a00e-ca7def7d5a5a | 3 | 2014-12-09 15:09:14 || 60b7ab9e-c91a-4020-a6d3-7bceb1dc47c5 | 3 | 2014-12-09 15:09:14 || 7b6cd2b8-ac6d-43eb-8858-e15885e676c8 | 3 | 2014-12-09 15:09:14 || d53a3df5-08c4-4604-8fac-cb51077935f6 | 3 | 2014-12-09 15:09:14 || d9e4ba14-f98d-42a8-b3bc-2879d58aa797 | 3 | 2014-12-09 15:09:14 || f56f82f6-32a7-47f7-ae07-b13168743884 | 3 | 2014-12-09 15:09:14 || 076c4c1b-0028-4a9c-a8c4-de655bd6ab6b | 4 | 2014-12-09 15:09:14 || 2a90ad9e-11a5-4707-95e8-78491da658ad | 4 | 2014-12-09 15:09:14 || 3b17ad1d-e589-4b65-93a7-d61fc99b4071 | 4 | 2014-12-09 15:09:14 || 6988d6cf-44ef-47f7-808d-09791caf2d90 | 4 | 2014-12-09 15:09:14 || 8404d281-f9e5-4153-a47e-128c05386758 | 4 | 2014-12-09 15:09:14 || e042e310-7ff2-4e4d-8c98-71e3e4d57828 | 4 | 2014-12-09 15:09:14 |+--------------------------------------+---------+---------------------+由上图可见,同一个时间点的同一个设备的数据有冗余,现在我们要把这些冗余数据去掉。

解决方法

本文由澳门三合彩票发布于数据库,转载请注明出处:3的所有数据,发现数据库里面很多冗余数据

关键词: