[일반] 오랜만에 실무에서 자주 겪는 문제 내줄게
딘퐁(film1341)
2025-12-26 20:49
추천 2
댓글 28
다른 게시글
-
오늘도 알찼다[일반] 1일1행(apart1723) | 25.12.26추천 0
-
오늘자 ㅈ소스러운 문제발생 ㅇㅇ [13][일반] 솔루션3000..(58.123) | 25.12.26추천 0
-
금융권 it 다니는 애들 생활 어떠냐 [5][일반] 익명(believe0217) | 25.12.26추천 0
-
진짜 이런 공고가 있네[일반] Java(jobumstead) | 25.12.26추천 0
-
ㅁㅊ 국내1위 IT서비스기업 신입공고 떴다;;; [4][일반] 익명(211.197) | 25.12.26추천 12
-
퇴사하고 싶은밤이구나[일반] 솔루션3000..(118.235) | 25.12.26추천 0
-
성별 속이는 게 제일 싫어 [5][일반] 익명(211.234) | 25.12.26추천 0
-
Ai엔지니어취업 [4][일반] 익명(14.50) | 25.12.26추천 0
-
나는 오히려 개발쪽 직무가 더 미래가 유망하다고 보는데 [10][일반] 익명(39.7) | 25.12.26추천 0
-
개발자는 한번 직장 잘들어가면 갠찮은듯 [5][일반] 익명(211.107) | 25.12.26추천 0
delete 쿼리를 인덱스 타게 수정?
추측성x 정확한 방법을 제시해야함 - dc App
원인 : delete 시 걸리는 x-lock으로 insert가 안되는 게 문제 해결방법 : 나눠서 지움 delete ~~ where id in (select 서브쿼리 limit n )
저기서 서브쿼리가 뭐임? - dc App
@딘퐁 select id from 테이블 where 주문기간 <= 특정기간 limit n 메시아 2번이랑 같은말이긴 함
@솔루션3000따리(58.123) 어쨋든 id만 추려서 delete하면 락 범위는 줄어들어 타당함 - dc App
걍 status 뭐있는지 조회해서 태우면 되는거아니노 ㅇㅅㅇ
방향은 맞는데 정확하게 방법을 제시해야함 - dc App
@딘퐁 select status from ~ group by status 하고 delete에 status = ? and date < 20241226
@ㅇㅇ(118.235) 내 생각과 동일함 해당 방식은 속도도 빨라지고 동시에 락도 짧아짐 - dc App
1. delete쿼리에 status 넣어주기 - 인덱스타서 인덱스에만 락걸림 Insert영향 X 2. 일반 select로 application 가져와서 PK로 Delete 날리기 - select는 잠금없음 and RowLock만 걸림 - 요구사항이 뭐냐에 따라서 달라질듯
1. 하드코딩은 안됨 2. 2번은 속도가 줄어들진 않는데 락은 안걸려서 타당한 방법임 - dc App
status는 App단에서 Enum으로 관리되고있을건데 그게 하드코딩인가용?
@메시아 enum 경우의 수가 추가될때마다 저 배치 소스를 매번 고쳐야하는 형태는 지양해야한다는 의미 - dc App
해당 댓글은 삭제되었습니다.
상관없능데 - dc App
@ㅇㅎㅁ 맞음 - dc App
@ㅇㅎㅁ 맞음 - dc App
사용되는 order_status 상태별로 삭제쿼리 여러개 날려주기 ㄱ
그렇게 하드코딩은 안됨 - dc App
해당 댓글은 삭제되었습니다.
이게 뭔지 이해가 안됨 - dc App
@노예 status 값을 동적으로 가져와야함 - dc App
무조건 하나 쿼리로 끝내야 함? Select where status=? and date~~ 해서 id 추출해서 애플리케이션에 올린 다음, 해당 id 기반 delete 한 번 더 날리면 안될까 - dc App
status 값을 하드코딩하면 안되고 동적으로 가져와야함 - dc App
새벽 3시에 햄버거 먹는 사람이 어딨냐고
나 - dc App
정답 및 해설
https://m.dcinside.com/board/backend/45602
- dc App