본문 바로가기
MySql

MySQL INDEX를 사용하는 이유와 위치-장단점

by 베이스 공부 2020. 11. 22.
반응형

저는 데이터베이스 프로그래밍에 익숙하지 않고 인덱스의 부정적인 영향이 무엇인지 궁금합니다. 내가 이해하는 한, 인덱스는 데이터베이스에서 특정 값 (예 : SELECT)을 검색해야하는 작업의 속도를 높입니다.

이 예를 고려하십시오.

user_name 열에 인덱스가있는 Example 테이블의 경우 작업은 다음과 같습니다.

SELECT TestField FROM Example WHERE user_name=XXXX

인덱스의 결과로 더 빨라질 것입니다.

내 질문은 : 인덱스 사용의 단점은 무엇입니까? 인덱스가 우리에게 프로 (성능 향상)를 제공한다면 왜 기본값으로 설정되지 않습니까?

 

해결 방법

 

색인에 대한 책을 채울 수는 있지만 여기서는 색인을 만들 때 고려해야 할 몇 가지 사항이 있습니다.

(대부분) 선택 속도를 높이는 반면 데이터베이스 엔진이 데이터 만 쓸 필요가없고 인덱스도 쓸 필요가 없기 때문에 삽입, 업데이트 및 삭제 속도가 느려집니다. An index need space on hard disk (and much more important) in RAM. An index that can not be held in RAM is pretty useless. 몇 개의 다른 값만있는 열의 인덱스는 많은 행을 정렬 할 수 없기 때문에 선택 속도를 높이 지 않습니다 (예 : 일반적으로 남성, 여성의 두 가지 값만있는 "gender"열).

예를 들어 MySQL을 사용하는 경우 엔진이 select 앞에 "explain"을 추가하여 인덱스를 사용하는지 확인할 수 있습니다. 위의 예에서는 EXPLAIN SELECT TestField FROM Example WHERE username = XXXX

 

참조 페이지 https://stackoverflow.com/questions/29842622

 

 

반응형

댓글