limit offset 단점
안녕하세요 제로초님.
항상 질 좋은 강의 감사합니다.
offset 방식으로 pagination 구현 시 데이터가 누락될 수 있다는 단점을 설명해주시면서
soft delete 방식으로 구현 시에는 해당 이슈가 괜찮다고 설명해주셨는데요.
soft delete 방식으로 구현 시에도 동일한 이슈가 발생할꺼라는 생각이 들어 질문을 남깁니다.
soft delete 방식으로 구현 시에도 조회 쿼리를 날릴 때, deleteAt이 null인 값인 data들은 filter 되기 때문에 동일한 이슈가 발생할꺼 같은데 맞을까요?
추가로 삭제 연산을 soft delete 방식으로 구현 시,
on delete option을 "casecade"로 설정했다면 부모 row가 삭제되었을 때, 자식 row도 soft delete 처리가 되나요?
아니면 set null 방식으로 처리가 되나요?
답변 1
1
아, soft delete 때도 동일한 문제가 있을 것 같긴 하네요. 일단 where를 거는 순간 offset 방식은 놓치는 데이터가 생길 수밖에 없습니다.
soft delete는 실제로 지우는 행위가 아니라서 자식 row에는 아무 일도 일어나지 않습니다.
0
soft delete는 실제로 지우는 행위가 아니라서 자식 row에는 아무 일도 일어나지 않습니다.
그렇다면, soft delete 구현 시 데이터 정합성을 지키기 위해서, 코드단에서 따로 로직을 추가하는 방식이 이루어지나요?
soft delete 구현 시 데이터 정합성을 위해 어떤 방식을 주로 사용하시는 지 궁금합니다.
답변 감사합니다 :)
1
soft delete에서는 아무것도 하지 않아도 데이터 정합성이 지켜집니다. 데이터 정합성은 foreignKey가 있는데 원본은 존재하지 않거나 할 때 깨지는 것인데 soft delete는 그냥 deletedAt 컬럼에 시간이 들어가있을 뿐이라 바꿔야할 게 없습니다. 다만 이제 그 키를 외래키로 참조하는 자식 테이블들은 부모의 deletedAt이 null인지를 체크하면서 가져와야겠죠.
조건 검색 질문
0
7
1
3번 문제 질문!
0
12
2
41번과 43번 문제
0
8
1
upload_file_id가 1,3,4 순서인 건에 대해
0
11
1
샘플데이터 요청
1
17
2
p.created_at vs u.name 인덱스 문의
0
27
2
콘솔 로그가 깨져나오는데 혹시 방법이 있을까요?
0
27
2
수강기간 연장 문의드립니다
1
22
2
이진 트리 노드
0
31
1
조인의 특징
0
30
2
MLOps Engineer가 되려면 뭘 쌓아가야 할까요?
1
40
3
노션 링크 좀 열어주세요
0
29
1
비관적 락과 낙관적 락에서 임계 영역 질문 있습니다.
0
31
2
설치오류 질문드립니다.
0
183
3
설치 오류 질문드립니다.
0
250
1
제 2 정규형 질문
0
210
1
외래키 On Delete SET NULL 관련
1
412
1
일대다, 다대다 관계 질문
0
414
1
설정에서 AutoIncrement를 바꿔도 수정이 되지 않습니다.
0
1278
2
3정규화 퀴즈에 관해 질문 드립니다.
0
289
1
중간 테이블 관련해서 질문드립니다
0
342
1
offset 방식과 성능 질문
0
382
1
[섹션3] 사원 테이블 데이터 추가하실 분들을 위한 쿼리문
3
537
1
users 테이블과 workspace 테이블의 관계
0
464
1





