2016-08-13 21 views
1

我使用InnoDB/memcache作爲臨時持有人的行未處理,並放置到它的表與索引(這減慢了很多初始負載,我們需要處理尖峯)。該表如下從一個選擇的兩個獨特的插入

的memcached/InnoDB的:C1 | C2 | C3 | C4

我現在需要獲得這些數據分爲兩個表,如 U1 | C1 | C2 | C3(U1是一個新的獨特的ID通過該表的auto_inc) U1產生| C4(U1從上表中複製所以它的同)

回答

1

我第一次插入第一個表,然後查詢其插入到第二個:

INSERT INTO t1 (c1, c2, c3) -- u1 is left out, so it can be generated 
SELECT c1, c2, c3 
FROM INPUT 

INSERT INTO t2 (u1, c4) 
SELECT t1.u1, input.c4 
FORM t1 
JOIN t1.c1 = input.c1 AND 
     t1.c2 = input.c2 AND 
     t1.c3 = input.c3 
+0

是的,這將導致大量的開銷,但。我希望mysql有一個更好的方法,否則insert_id();在應用程序級別可能更加貼心 –

相關問題