inflearn logo
강의

講義

知識共有

記出に備える開発者専攻面接 [CS完全征服]

DB index 적용 column (1% and 99%)

解決済みの質問

544

codesver

投稿した質問数 3

1

안녕하세요.

Column에 index를 생성할 때는 SELECT 횟수가 INSERT/UPDATE/DELET 연산보다 많고 column의 데이터 중복도가 낮으며 데이터 양이 많아야 효율적이다라는 것은 이해했습니다. 그렇기 때문에 남자 1% 와 여자 99%인 column에서는 index를 생성하면 안된다는 것도 이해했습니다.

그러다가 만약 "1%와 99%인 column에서 조회만 발생하는데 비즈니스 요구사항에 따라 1%에 대해서만 조회가 일어나면 index를 생성하여도 되는가?"에 대해서 의문이 생겼습니다.

예를 들어 1이 백만개가 있고 2가 1개 있으며 조회가 굉장히 많이 일어나는데 어떠한 경우에서도 2에 대해서만 조회가 발생한다고 한다고 가정했을 때 index를 생성하지 않으면 백만하고도 한 번의 탐색을 해야 합니다. 하지만 index를 하면 한 번의 탐색으로 조회를 완료할 수 있습니다. 이럴 경우에는 index를 생성하는 것이 더 효율적일 수도 있나요?

면접 운영체제 기술면접 index column

回答 1

1

nossi

안녕하세요 codesver님!

가정해주신 극단적인 상황에서는 index의 효율이 대단히 좋을 수 있겠네요!

아마 index에 대해서 제대로 이해하고 계시기 때문에 이와 같은 가정을 하고 질문을 주신 것 같아요.

실무에서는 해당 회사가 처한 상황이 다 다르기 때문에 교과서적으로 "index는 이런 경우 쓰면 안된댔어!" 라고 하기엔 무리가 있는 것 같아요. 저희는 일단 교과서적인 답변을 배울 뿐 입니다. 하지만 교과서적인 답변을 배우더라도 codesver님처럼 확장하여 생각하면 다양한 변형 문제에 대한 답도 할 수 있겠죠!

 

공부하시다가 궁금한 점이 더 생기면 언제든 질문 주세요 :)

0

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