mysql 删除两个同结构表,两个相同列数据.
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/24 23:34:24
mysql 删除两个同结构表,两个相同列数据.
msyql 两个表结构相同:
A表:mobid,itemid,min,max
22222,333333,100,100
33333,444444,100,100
44444,555555,100,100
55555,666666,100,100
B表:mobid,itemid,min,max
22222,333333,111,111
33333,444444,111,111
44444,555555,111,111
55555,666666,111,111
77777,888888,111,111
现在希望能删除,表B中,已存在于表A的:mobid 和 itemid相同的数据
也就是相当要删除掉
B表:
22222,333333,111,111
33333,444444,111,111
44444,555555,111,111
55555,666666,111,111
的这些数据.
msyql 两个表结构相同:
A表:mobid,itemid,min,max
22222,333333,100,100
33333,444444,100,100
44444,555555,100,100
55555,666666,100,100
B表:mobid,itemid,min,max
22222,333333,111,111
33333,444444,111,111
44444,555555,111,111
55555,666666,111,111
77777,888888,111,111
现在希望能删除,表B中,已存在于表A的:mobid 和 itemid相同的数据
也就是相当要删除掉
B表:
22222,333333,111,111
33333,444444,111,111
44444,555555,111,111
55555,666666,111,111
的这些数据.
看到你的追问.数据库是20W级别的.
如果用O(n^2)的更新是肯定超时的.
计算次数是20W*20W*字符长度
我给你提个O(n)的思路,不过要用程序实现,SQL没机会.HQL或许有,
首先是把A,B表中的都读到内存.
然后做哈希,开个10^10布尔类型的数组,1G内存多点,2G肯定够用.
然后做A表的哈希,
做好后遍历B表,做哈希.重复的做标记.
完成一轮后使用令一套保证跟第一次哈希不重复的哈希算法再遍历一次标记过的B表,
再遍历A表.
如此只需分别遍历两次AB表,即可完成查重.
然后把B表中重复的删掉即可.
计算机的执行效率大约是每秒10000*10000次.
如果把AB表中的string型主键转成int型存储,然后再做比对.
大约是20W*20W*2的比对次数,那么800秒,就是20到40分钟.
都应该可以比对完,但是如果是如题描述的12位字符.就需要几个小时甚至几天了.
再说一种O(Nlog2N)的算法.
首先是对A,B进行合并,然后做快排序.
然后遍历一次进行顺序查重.
这种方法用的内存比较少,计算量是40W*100,基本上10秒内都能出结果.
如果用O(n^2)的更新是肯定超时的.
计算次数是20W*20W*字符长度
我给你提个O(n)的思路,不过要用程序实现,SQL没机会.HQL或许有,
首先是把A,B表中的都读到内存.
然后做哈希,开个10^10布尔类型的数组,1G内存多点,2G肯定够用.
然后做A表的哈希,
做好后遍历B表,做哈希.重复的做标记.
完成一轮后使用令一套保证跟第一次哈希不重复的哈希算法再遍历一次标记过的B表,
再遍历A表.
如此只需分别遍历两次AB表,即可完成查重.
然后把B表中重复的删掉即可.
计算机的执行效率大约是每秒10000*10000次.
如果把AB表中的string型主键转成int型存储,然后再做比对.
大约是20W*20W*2的比对次数,那么800秒,就是20到40分钟.
都应该可以比对完,但是如果是如题描述的12位字符.就需要几个小时甚至几天了.
再说一种O(Nlog2N)的算法.
首先是对A,B进行合并,然后做快排序.
然后遍历一次进行顺序查重.
这种方法用的内存比较少,计算量是40W*100,基本上10秒内都能出结果.
MYSQL如何把两个结构相同的表组成一个表查询
怎么同时修改和删除两个关联表中的数据.
如何将两个excel表中,A、B列内容同时相同的两个C列数据合并在一个表内?
如何利用函数统计同时满足同列中两个或两个以上条件对另一列数据进行统计
Excel怎么计算列中的两个单相同单元格数据计数
用Vba计算同列两个相邻单元格数值相同的下一个单元格的个数
excel:两个表.A列人名不变,顺序不一样.B列两个表都有相对应数据.怎样才能把两个表的数据合并在一起
如何找出两个电子表格中的相同数据
支支吾吾 写出两个结构相同的词语
请写出两个相同结构的单词
在excel表中从a列中删除b列的数据.b是a的子集.
仿写下列句子,另选一个学科名称作为开头,再造两个结构大致相同的句子