Database

DataBase/My-Batis

Out Of Memory Error. MyBatis Batch Insert 시 OOME 방지.

1. 일반적인 경우의 MyBatis Insert. 어떤 로직을 거쳐 생성된 객체 100만개를 DB에 insert 해야 하는 상황이다. private List getMemoList() { List list = new ArrayList(); // 100만번 loop를 돌아 100만개의 요소를 생성해 list에 add 한다. for (int i = 0; i < 1_000_000; i++) { MemoDTO memo = new MemoDTO(); memo.setMemberId(1); memo.setMemo("메모 테스트 입니다!메모 테스트 입니다!"); list.add(memo); } return list; } 위와 같이 MemoDTO 객체를 100만개 임의로 생성해서 List에 넣었다. 위 객체를 DB에 in..

DataBase/SQL

[SQL/TABLE/COLUMN] 테이블의 성격에 따라 다른 컬럼값

-- 첫번째 쿼리. SELECT o.invoice_code FROM ORDER o INNER JOIN ORDER_USER bot ON o.id = bot.order_id LEFT JOIN BILLING_BOT_MAP map ON bot.name = map.bot_name LEFT JOIN BILLING b ON map.biling_id = b.id WHERE o.order_code = 'code123'; -- 두번째 쿼리. SELECT b.invoice_code FROM ORDER o INNER JOIN ORDER_USER bot ON o.id = bot.order_id LEFT JOIN BILLING_BOT_MAP map ON bot.name = map.bot_name LEFT JOIN BILLING ..

PCOSPD 100LRE SCRIE4A2
'Database' 태그의 글 목록