index는 보통 어떻게 활용되나요? 0 2 1,115

by mjee [MySQL] mysql index [2021.01.13 10:36:33]


안녕하세요!

모두 새해 복 많이 받으시기 바라겠습니다.

 

현재 MYSQL에서 성능 향상을 위해 INDEX를 사용하고자 합니다.

INDEX관련 글을 찾아보면서 여러 종류와 동작 방식은 이해가 되는데 이를 활용 해 보려니 잘 구상이 되지않네요..

간단한 게시판을 예로 들었을 때 어떤식으로 INDEX를 활용하고 효과적으로 설정하는 방법이 이 있을지 간단하게 설명 부탁드려도 될까요?

 

예를들어 Q&A 게시판의 경우 카테고리, 제목, 질문글, 답변여부, 답변, 처리여부, 등록자, 답변자, 등록일 이런식으로 테이블이 구성되어있다 하면

INDEX를 카테고리 기준으로 설정하는게 좋은지 답변여부 컬럼으로 설정하는게 좋은지 아니면 검색에 걸릴 제목으로 설정하는게 좋을지 궁금합니다.

또 검색 기능은 없고 카테고리는 있는 일반적인 게시판의 경우에는 카테고리 컬럼을 INDEX로 설정하는것이 효율적으로 INDEX를 사용하는 방법이 되는것일까요?

 

by 우롱 [2021.01.14 09:15:45]

보통 index는 join에서 on절에 쓰이는 컬럼과 where절, order 절에 쓰이는 컬럼으로 구성하시는 것이 성능향상에 도움이 됩니다.

그럼에도 불구 하고 호출하는 데이터량이 많은 경우 select 절의 컬럼들을 포괄열로 구성해서 포괄인덱스를 구성하시면 상당히 빨라집니다.

대신 insert, update의 성능에 약간의 부하가 걸릴 수 있고, 많은 insert, update가 일어나는 경우 인덱스가 조각나게 되어 지속적인 인덱스 관리가 필요합니다.


by mjee [2021.01.18 09:42:42]

답변 감사합니다! 말씀 참고하겠습니다

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