DB index 적용 column (1% and 99%)
안녕하세요.
Column에 index를 생성할 때는 SELECT 횟수가 INSERT/UPDATE/DELET 연산보다 많고 column의 데이터 중복도가 낮으며 데이터 양이 많아야 효율적이다라는 것은 이해했습니다. 그렇기 때문에 남자 1% 와 여자 99%인 column에서는 index를 생성하면 안된다는 것도 이해했습니다.
그러다가 만약 "1%와 99%인 column에서 조회만 발생하는데 비즈니스 요구사항에 따라 1%에 대해서만 조회가 일어나면 index를 생성하여도 되는가?"에 대해서 의문이 생겼습니다.
예를 들어 1이 백만개가 있고 2가 1개 있으며 조회가 굉장히 많이 일어나는데 어떠한 경우에서도 2에 대해서만 조회가 발생한다고 한다고 가정했을 때 index를 생성하지 않으면 백만하고도 한 번의 탐색을 해야 합니다. 하지만 index를 하면 한 번의 탐색으로 조회를 완료할 수 있습니다. 이럴 경우에는 index를 생성하는 것이 더 효율적일 수도 있나요?
回答 1
1
안녕하세요 codesver님!
가정해주신 극단적인 상황에서는 index의 효율이 대단히 좋을 수 있겠네요!
아마 index에 대해서 제대로 이해하고 계시기 때문에 이와 같은 가정을 하고 질문을 주신 것 같아요.
실무에서는 해당 회사가 처한 상황이 다 다르기 때문에 교과서적으로 "index는 이런 경우 쓰면 안된댔어!" 라고 하기엔 무리가 있는 것 같아요. 저희는 일단 교과서적인 답변을 배울 뿐 입니다. 하지만 교과서적인 답변을 배우더라도 codesver님처럼 확장하여 생각하면 다양한 변형 문제에 대한 답도 할 수 있겠죠!
공부하시다가 궁금한 점이 더 생기면 언제든 질문 주세요 :)
노션 접근이 안됩니다 ㅠㅠ
0
112
2
노션 공유 부탁드립니다.
0
54
2
노션 공유가 안됩니다!
0
148
2
프로세스가 많아질수록 segment table도 많아지는 건가요?
1
66
2
노션 공유가 사라졌습니다.
0
160
2
post 요청
0
50
1
http
0
58
1
mutex, semaphore와 deadllock
0
94
3
실행중인 프로세스는 메모리를 연속적으로? 아니면 불연속적으로 사용하나요?
0
70
1
노션 공유 요청 드립니다.
0
121
1
노션 공유 요청드립니다.
0
82
1
Dynamic Array와 Linked List의 시간복잡도에 대해서..
0
111
1
노션
0
106
1
질문이있습니다 선생님!
0
105
1
질문이있습니다 선생님!
0
95
1
질문이있습니다 선생님!
0
87
1
질문이있습니다 선생님!
0
160
2
질문이있습니다 선생님!
0
147
2
질문이 있습니다 선생님!
1
195
2
질문이 있습니다 선생님!
0
118
1
질문이있습니다 선생님!
0
81
1
질문이 있습니다 선생님!
0
103
1
질문이 있습니다 선생님!
0
85
1
물리적 메모리에 연속적으로 저장하지 않는 이유
0
126
1

