묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
IDENTITY Batch Insert 쿼리
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 강사님 덕분에 JPA를 재밌게 공부하고 있는 취준생입니다. Mysql에 Batch INSERT 쿼리에 대해 여쭤보고 싶습니다. Mysql은 시퀀스를 지원하지 않아 @GeneratedValue를 IDENTITY로 할 경우 PK때문에 INSERT가 한건씩 나가게 됩니다. 그동안 네이티브 쿼리를 사용했을 때는 배열 같은 형태로 여러 Row를 한 개의 INSERT로 처리하였는데 이 경우에도네이티브 쿼리가 실용적인 대안이 될 수 있을까요??Mysql에서 SEQUENCE 전략을 사용하면 PK 테이블을 생성 -> SELECT pk (비관적 락) -> UPDATE pk순으로 실행 되어 조금 더 찾아보니 allocateSize처럼 seq(pk) 뭉치로 가져 오는 방법이 있긴 한데 대부분의 경우 Native 쿼리로 푸는게 더 효율적이란 생각이 듭니다.혹시 이 밖에 더 괜찮은 방안이 있을까요?? 감사합니다!!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
배치사이즈 질문
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 16:29 질문입니다.<property name="hibernate.jdbc.batch_size" value="10"/>이 부분이 햇갈립니다..이걸 하냐 안하냐 차이가(쓰기지연시)위 설정을 하면 DB 커넥션 한번에 10개의 쿼리를 보내준다는거고 위 설정을 안하면 쓰기지연 모드가 발동시 10번의 커넥션이 이루어 진다고 생각하면 되나요 ??
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
insert sql batch
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님! 강의 정말 잘 보고 있습니다. 궁금한 점은 조회할 때는 join fetch나 default_batch_fetch_size를 통해 성능 최적화를 하는데, 샘플 데이터를 넣을 때의 쿼리를 보니까 많은 쿼리가 나가는 것을 확인 했습니다. orderItem들이 생성 될 때 여러 번의 쿼리가 아니라 한 번의 쿼리로 실행되게 하는 방법이 있을까요?? insert batch 등을 검색해봤는데 잘 적용이 되지 않아 질문 남깁니다! insert into member (city, street, zipcode, name, member_id) values ('서울', '1', '1111', 'userA', 1); insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values ('JPA1 BOOK', 10000, 100, NULL, NULL, 'B', 2); insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values ('JPA2 BOOK', 20000, 100, NULL, NULL, 'B', 3); insert into delivery (city, street, zipcode, delivery_status, delivery_id) values ('서울', '1', '1111', NULL, 5); insert into orders (delivery_id, member_id, order_date, status, order_id) values (5, 1, '2022-06-08T16:23:38.605+0900', 'ORDER', 4); insert into order_item (count, item_id, order_id, order_price, order_item_id) values (1, 2, 4, 10000, 6); insert into order_item (count, item_id, order_id, order_price, order_item_id) values (2, 3, 4, 20000, 7); update item set name='JPA1 BOOK', price=10000, stock_quantity=99, author=NULL, isbn=NULL where item_id=2; update item set name='JPA2 BOOK', price=20000, stock_quantity=98, author=NULL, isbn=NULL where item_id=3;