MySQL 에서 insert 쿼리 수행시 Key 중복이 있는 경우 해당 row를 업데이트 하기 위해서 insert ~ on duplicate key update ~ 를 사용한다. 문법 INSERT INTO tb_temp (a, b, c) VALUES(1, 2, 3) ON DUPLICATE KEY UPDATE c = c + 1 tb_temp 테이블에 PK(unique index)가 a 라고 했을 때를 가정하자. 위 SQL은 a=1 인 row 가 이미 존재한다면 c 컬럼을 갱신한다는 의미이다. 예를 들어 위 SQL을 두 번 수행하면? c는 4가 된다. 그럼 Bulk insert 에서의 duplicate key update 쿼리는 어떻게 작성이 될까? 두 개의 insert 구문이 있다고 가정하자. INSERT..
대량으로 insert를 수행하다 보면 성능을 고려하게 된다. MySQL에서는 multi row을 어떻게 빠르게 insert 할 수 있을까? One Transaction 처리 Insert ~ Select Bulk Insert LOAD DATA INFILE 구글링을 해 보니 4가지로 요약되는 것 같다. One Transaction 처리 start transaction; insert into tb_name (a, b, c) values (1, 2, 3); insert into tb_name (a, b, c) values (1, 2, 3); insert into tb_name (a, b, c) values (1, 2, 3); commit transaction; 하나의 트랜젝션으로 묶어서 처리하는 방식이다. SQ..
- Total
- Today
- Yesterday
- Hdfs
- mysql
- java
- 책요약
- jenkins2.0
- mongodb
- Sqoop
- json
- PYTHON
- jenkins
- Oracle
- db
- Apache Spark
- linux
- mongo
- flume
- HADOOP
- 태그를 입력해 주세요.
- Git
- 데이터 리터러시
- Django
- spring
- exception
- Learning Spark
- 데이터과학자
- 확률분포
- jackson
- 알고리즘
- spark
- bigdata
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |