inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 데이터베이스 완전정복 [설계편]

[실습] 삭제 전략

논리적 삭제 적용시 INDEX 생성 전략

해결된 질문

147

Joe Hidden

작성한 질문수 6

0

안녕하세요

 

논리적 삭제를 위한 컬럼 적용시 해당 테이블에서 조회할때 조회 조건에 항상 deleted_at 컬럼이 포함될거 같은데요 그러면 INDEX생성에 반영해주는게 좋을까요?

mysql dbms/rdbms database modeling db 카카오공채-개발

답변 2

0

신동현

맞습니다. 논리적 삭제시 deleted_at 컬럼이 조회에 사용되기 때문에 인덱스를 추가하는 것이 좋습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Joe Hidden님.

논리적 삭제를 다루는 경우, deleted_at과 같은 컬럼을 통해 실제로 삭제된 것이 아닌 레코드를 관리하는 방식이 일반적입니다. 이 경우, 해당 컬럼이 자주 조회 조건에 포함된다면 적절한 인덱스를 생성하는 것이 성능에 도움이 될 수 있습니다.

논리적 삭제와 인덱스 생성 고려사항

  1. 자주 사용되는 조건: deleted_at IS NULL 형태로 자주 조회된다면, 인덱스를 통해 해당 조건에 대한 검색을 최적화할 수 있습니다. 이로 인해 검색 속도가 향상되고, 필요하지 않은 레코드에 대한 불필요한 읽기 작업을 줄일 수 있습니다.

  2. 복합 인덱스: deleted_at 컬럼 뿐만 아니라 자주 검색조건으로 사용되는 다른 컬럼과 복합 인덱스를 만들면 효율을 극대화할 수 있습니다.

  3. 테이블 업데이트 영향: 인덱스의 작성 및 유지관리 자체가 비용이 됩니다. 따라서, insert, update 작업이 매우 빈번하게 발생하는 테이블의 경우 인덱스를 적절히 관리하여 그 성능 비용을 고려해야 합니다.

이와 관련된 더 구체적인 정보를 얻거나 예제를 참고하고 싶으시다면, 다음의 유사한 질문도 확인하시면 좋겠습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

노드

0

11

1

아무도 모르게 책 내시면 모르실 줄 알고!!

1

33

2

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

47

1

스크립트에 대해 질문 있습니다.

1

39

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

33

1

리뷰

0

30

2

조건 검색 질문

0

31

1

upload_file_id가 1,3,4 순서인 건에 대해

0

31

1

샘플데이터 요청

1

32

2

p.created_at vs u.name 인덱스 문의

0

39

2

콘솔 로그가 깨져나오는데 혹시 방법이 있을까요?

0

43

2

이진 트리 노드

0

42

1

조인의 특징

0

41

2

비관적 락과 낙관적 락에서 임계 영역 질문 있습니다.

0

39

2

댓글 삭제 로직에서 동시성 문제 발생 가능성

0

34

1

통계정보 갱신 질문

0

62

2

PK 관련하여 궁금한 점이 있어서 질문 드립니다.

0

66

2

탐색을 한번 더 하지 않게 하는 방식 중 어댑티브 해시 방식도 맞는지 궁금 합니다.

0

70

2

차트시트 발송이 안되는 이유는 무엇일까요?

0

39

2

컬럼 크기가 대용량인 경우 DB 버퍼 풀에 전부 올라오는지 궁금합니다

0

61

2

강의자료 다운로드 건

0

32

1

커버링 인덱스에 대해서 질문드립니다.

0

182

3

인덱스 설계 시 컬럼 선택 기준

0

148

2

인덱스 사용 패턴 질문

0

117

2