对于快速搜索表,我需要将一个大表分成两个表 示例表:
+--------+--------+-------+------+
| source | target | count | prob |
+--------+--------+-------+------+
| test1 | test2 | 2 | 1 |
| cat | dog | 3 | 1.5|
| dog | cat | 1 | 0.5|
+--------+--------+-------+------+
使用以下代码
INSERT INTO Table2 (source,target,count,prob)
SELECT source,target,count,prob FROM Table1 WHERE count <2;
然后删除原件
DELETE FROM Table1 WHERE count<2;
计数将在分离Table1中的表后进行分组,并且新的相同元素将在分离后增加。
例如:
source = 'dog' and target = 'cat' and count = 1
将移至Table2,而Table1仍将分组,例如添加计数或将添加新行source = 'dog' target ='cat'
,count = 3
。
我如何组合Table1和Table2(分离后Table2不会改变)
答案 0 :(得分:3)
您可以将结果与UNION
SELECT source, target, count, prob FROM tbl1
UNION
SELECT source, target, count, prob FROM tbl2
请注意,有很多更好的方法可以在大型表上获得更好的性能