【发布时间】:2014-01-22 15:48:27
【问题描述】:
我有两个相同的表,由 3 个字段组成:ID、TID 和 ITEM.. ID 充当主键,TID 标识 ITEM 组。每个 TID 可以有不同数量的 ITEM。
我想将 2 个相同的表与类似的条件进行比较
-
检查表 1 中按 TID 分组的每个项目到表 2 中按 TID 分组的每个项目
如果表 1。分组Item在table2中存在N个,通过查询
INSERT SELECT插入到新表中例如在屏幕截图中,
C - F -A在表 2 中出现了 3 次,因此它们将被插入到新表中..
可以用mysql查询吗?
我已经尝试过使用程序,将两个表填充到两个二维数组中,将它们与简单的IF CLAUSE 进行比较,得到所需的结果.. 效果很好..
但问题是,当我使用庞大的数据库时,完成它需要荒谬的时间..
当我比较第一个二维数组(table1 有 2k 条记录)和第二个数组(table2 有 870 条记录)时,需要 2 小时才能完成!
这是实际的数据库
这是我已经尝试过的,将上面的两个表填充到二维数组中。在为两个二维数组分配表记录时,我还包括IF CLAUSE 以检查第一个二维数组的元素是否有 N 次出现在第二个二维数组中,INSERT SELECT 查询将被执行..
上面第一个二维数组中的黄色阻塞节点col,将被插入到新表中,因为它在第二个二维数组中出现了3次,
数字 3 来自用户输入
但由于我无论如何都在使用数据库对象,这也花费了我昂贵的性能和时间,我使用的是 vb.net 2005
我相信有其他方法可以解决这个问题.. 请大家告诉我方法如何?使用 mysql 查询或其他比我尝试过的执行速度更快的方法?
向我致以最诚挚的问候,谢谢..
【问题讨论】: