테이블 인덱스 설정에 대해 질문드립니다. 0 5 1,657

by 중다리 [MySQL] 인덱스 중복 [2023.02.07 16:35:00]


안녕하세요, DB인덱스 설정에 대해 문의드립니다.

저희가 직접 서비스를 개발하지는 않고 외주 개발사를 통하여 개발하였는데, 테이블을 확인하다가 인덱스가 중복된 부분을 확인하게 되었습니다.

테이블 내에 PK도 존재하고 해당 PK컬럼이 INDEX로도 설정되어 있는 부분이었습니다.

다른 테이블도 같은 방식으로 인덱스가 중복으로 설정되어 있는 부분을 확인하였고, 문득 개발사가 왜 이렇게 설정을 했는지 궁금해졌습니다.

구글 검색으로 원하는 답변을 얻지 못하여 부득이하게 질문드리게 되었고, 고수님들의 시원한 답변 부탁드립니다.

감사합니다.

by 마농 [2023.02.07 16:59:22]

Oracle 의 경우 중복 인덱스는 만들 수 없습니다. (ORA-01408: such column list already indexed)
MySQL 은 가능한가 보네요.
실수로 잘 못 만든게 아닐런지요?


by 중다리 [2023.02.07 17:21:27]

실수라고 보기엔,, 많은 테이블에서 같은 현상이 발생하였습니다.


by 김영군 [2023.02.07 17:14:45]

인덱스 블록만 읽기 위해서 생성한듯 합니다.

MSSQL 인듯 합니다

되도록이면 여러 쿼리에서 사용할수 있는 커버링 인덱스로 처리하는게 낳을듯 합니다


by 중다리 [2023.02.07 17:21:02]

MARIADB 데이터베이스입니다~


by 구경꾼 [2023.02.10 00:17:54]

불필요한 인덱스이고..

참조 관계에 있는 컬럼들에 대하여 기계적으로 인덱스를 정의하면 그런 현상이 발생할 경우가 있을 것 같네요.

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