inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tối ưu hóa hiệu suất MySQL

Lý thuyết

실무에서 prefix index를 어떤 요구사항이 있을때 사용하는지 궁금합니다!

Đã giải quyết

465

soap

37 câu hỏi đã được viết

0

실무 요구사항에서 blob, text, 긴 varchar와 같은 칼럼을 인덱싱하는 경우가 있을까요?

당장 기억나는건 게시글 내용 검색 밖에 생각이 안나네요..

 

그리고 요 아래글에 나와있는 prefix index의 한계점도 맞는 말일까요?

https://stackoverflow.com/questions/31526618/mysql-prefix-index-vs-index

(아래는 챗지피티가 요약해준거라 정확하지 않을 수 있습니다 ㅠ)

  1. 인덱스를 통해 "가능한" 행들을 먼저 찾고, 이후 실제 데이터 행을 검색하여 추가 필터링을 수행(두 단계를 거치므로 인덱스를 사용하지 않을때보다 더 많은 시간 소요..?)

2.정렬(sorting)이나 그룹화(grouping) 작업에는 사용되지 않음.

  1. ORDER BY 절을 명시적으로 사용하지 않는 한 결과의 순서는 보장되지 않음

  1. 커버링 인덱스로 사용 불가

 

sql mysql dbms/rdbms optimizing

Câu trả lời 1

1

yjm9505168574

안녕하세요~ 질문 남겨주셔서 감사합니다.

 

먼저, Prefix 인덱스는 꽤 다양하게 사용될 수 있는데요.

  • 게시글 본문 내용을 색인하는 경우

  • 이커머스 플랫폼에서 상품 설명이 저장된 긴 내용을 색인하는 경우

  • 로그 데이터나 사용자의 행동을 기록하는 텍스트 필드에서 색인하는 경우

 

그리고 다음 질문 주신 내용인 prefix index의 한계점도 일부 맞는 말입니다:

  • Prefix 인덱스는 해당 prefix로 시작하는 모든 행을 먼저 찾은 다음, 실제 데이터를 검색하여 추가적인 필터링을 수행해야 합니다. 이렇게 두 단계를 거치지만 인덱스를 사용하지 않는 경우보다는 빠를거에요. 물론 인덱스 검색도 전체 데이터의 20~25%이상 조회하는거라면 풀스캔이 더 빠르긴 하겠죠.

  • Prefix 인덱스는 ORDER BY GROUP BY 절에서의 정렬이나 그룹화 작업에 효과적이지 않아요. 이건 인덱스가 전체 값을 포함하지 않기 때문에, MySQL이 결과의 정확한 순서를 보장할 수 없기 때문이에요.

  • 커버링 인덱스는 쿼리가 필요로 하는 모든 데이터를 인덱스에서 직접 가져올 수 있을 때 사용되는데요. Prefix 인덱스는 필드의 일부만을 포함하므로, 쿼리가 해당 필드의 전체 데이터를 필요로 하는 경우 추가적인 디스크 접근이 필요하기 때문에 사용할 수 없어요.

     

 

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

5

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

7

1

트리거 질문

0

9

1

Vercel 실행이 안됩니다

0

5

1

패키지 구분에 대해 궁금한게 있습니다

0

13

1

노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.

0

17

1

performance_schema.events_stages_history_long, performance_schema.events_statements_history_long 테이블에 데이터가 쌓이지 않고 있습니다.

0

110

1

innodb deadlock detect 비활성화 질문

0

390

1

ssd 에선 innodb_flush_neighbors을 0으로 하면 될까요?

1

227

1

innodb_buffer_pool_instances 기준 질문 드립니다

0

703

1

no offset 최적화를 사용할 수 없을 것 같은 경우에는 어떻게 최적화를 해야할까요?

0

258

2

실습 자료에 명시된 쿼리문들이 짤려있습니다.

0

218

1

my.cnf에 설정이 오타로 인해 잘못 들어가서 구동이 안될때는 어떻게 해야할까요?

0

297

1

내장함수로 감싸진 칼럼의 order by 최적화는 불가능할까요?

0

222

2

bulk_insert.py로 삽입되는 데이터 건수가 100만 건인데 정상일까요?

0

238

1

섹션3 Theory 노션 위치 이동 제보

0

203

1

실무에서 로드 데이터 활용하는 사례 및 기타 질문

0

257

1

강의자료 insert_optimization > load_data.py 내용이 바뀐것 같습니다..!

0

231

1

강의에 사용된 노션 링크 받을 수 있을까요?

0

275

1

AUTO INC Lock 하고 뮤택스 락 차이 관련해서 질문 드립니다.

0

269

1

섹션 4 Theory 영상에서 계속해서 노션의 화면 위치가 이동

0

296

2

커버링 인덱스

0

638

2

해당 강의 제공 코드를 보니 DB 커넥션 정보를 넘길때 포트가 빠졌네요

0

430

1

Task2는 직접해보는 부분인가요?

0

440

1