2016-08-13 2 views
1

인덱스 처리 된 행에 임시 소유자로 InnoDB/memcache를 사용하고 있습니다 (초기로드가 많이 느려지고 스파이크를 처리해야 함). C2 | | C3 | C4하나의 선택에서 두 개의 고유 한 삽입

이 나는 ​​그런 U1 등이 개 테이블에 지금 데이터를 얻을 필요가 | C1 | C2 | C3 (U1 새로운 고유 C1 :

이 memcached를/InnoDB에 다음과 같이 테이블입니다 해당 테이블의 auto_inc) (U1)에 의해 생성 된 ID |이) 내가 먼저 두 번째에 삽입을 조회 한 후 첫 번째 테이블에 삽입 한 것

답변

1

같은, 그래서 C4는 (U1은 위의 표에서 복사 :

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()에 내장되어 있기를 바라고 있었다. 응용 프로그램 수준에서 더 적합 할 수 있습니다 –

관련 문제