티스토리 뷰

Database/MariaDB

MariaDB CS에서 JDBC Batch 성능?

데브포유 2019. 11. 8. 22:21
반응형

MariaDB CS(ColumnStore)에 데이터를 빠르게 적재하는 방법은 "cpimport"를 사용하는 것입니다.

대용량일 경우에는 당연히 "cpimport"사용을 최우선으로 하는게 맞습니다.

문제는 너무 크지 않은 데이터를 MariaDB에 insert하고, update할 때 입니다.

insert는 Multiple Insert 문를 직접 생성해 주거나, JDBC Driver URL 옵션 중 "rewritebatchedstatements=true"

통해서 JDBC Batch를 자동으로 Multiple Insert문으로 변경해 주는 기능을 사용하면 성능을 끌어 올릴 수 있습니다.

문제는 update 입니다.

MariaDB CS에서는 update문을 벌크로 수행하는 기능을 찾을 수 없었습니다.

혹시 알고 계신 분이 있으시면 코멘트 부탁드립니다.

그래서 차선책으로 찾은 해법은 일단 업데이트할 데이터를 임시 테이블에 적재를 한 후에 

update문에 join 절을 이용해서 한번에 업데이트를 수행하는 방법입니다.

 

ex)  update tn_orders t1 join tt_orders t2 on (t1.order_id = t2.order_id)

                set t1.payer_nm = t2.payer_nm

                       ,t1.payer_no = t2.payer_no

       ---------------------------------------------------------------------------------------------

반응형