성능관련 기초(?) 문의 입니다. 0 4 624

by 김지영 [DB 모델링/설계] [2020.11.18 17:53:27]


RDB 에서 궁금한 점이 있습니다 

 

10억건이 데이터가 있는데, Clustered Index 에 의한 검색으로 100건이 검색 되는 경우가 있다고 가정합시다.

매우 바람직 하겠죠?

그런데, 여기에 like 검색을 더하면 어떻게 되나요?

100 건을 빠르게 가져온 결과 이후에 like 검색을 하므로,  전체 데이터 100 건 중에서 like 검색을 하는 것과 마찬가지로 성능에 미미한 영향을 미칠 것이다 라고 예상할 수 있을까요?

아니면, 10억건의 데이터에서는 그 어떤 경우에라도 like 검색은 하면 안된다는게 맞을까요?

 

 

by 마농 [2020.11.18 18:06:00]

인덱스를 이용해 100건만 읽을 수 있다면? -> 추가 조건은 100건 중에서 처리하겠네요.
그 어떤 경우에라도 like 검색은 하면 안된다면? -> LIKE 구문이 있을 이유가 없죠.


by 김지영 [2020.11.19 10:06:47]

답변 감사합니다.

절대로 like 검색을 사용하지 말라는 DBA 의 의견이 있습니다. 

사용자가 많아지면, 메모리 이슈가 있다고 하더라구요. 저는 이해가 안되는 부분인데 (제가 쪼랩이라서 그런걸까요)

혹시, 사용자가 많아져도 문제가 없어 라는걸 증명 할 만한 자료가 있을까요?

 


by 우주민 [2020.11.19 10:31:16]

아마 LIKE문이 사용 방법에 따라 INDEX를 타지 않고 실행되는 경우가 있겠죠.

그 예를 하나하나 체크해주기 힘드니 가능성이 있는 부분을 강제하는 형태로 가이드 해줬나봅니다.

튜닝쪽에 지식이 있으시다면 성능을 유지하며 LIKE 문을 사용하실 수 있으실듯 하네요. 


by 김지영 [2020.11.19 13:11:26]

감사합니다. 

많은 도움이 되었습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입