정렬과 필터링에 흔히 사용되는 Mysql 필드 정수형에도 인덱스가 필요한가요? 나는 항상 혼란스러웠다.
정렬과 필터링에 흔히 사용되는 Mysql 필드 정수형에도 인덱스가 필요한가요? 나는 항상 혼란스러웠다.
B-Tree 인덱스를 추가하면 다음과 같은 세 가지 이점이 있습니다.
1. 서버가 스캔해야 하는 데이터의 양을 줄입니다.
2, 서버가 정렬 및 임시 테이블을 방지하는 데 도움이 될 수 있습니다.
3. 랜덤 I/O가 순차 I/O로 바뀔 수 있습니다.
데이터 테이블의 숫자가 매우 작은 경우 먼저 추가할 수 없으면 간단한 전체 테이블 스캔이 더 효율적입니다. 중대형 테이블의 경우 인덱스가 매우 효과적입니다. 그러나 매우 큰 테이블의 경우 인덱스 생성 및 사용 비용이 증가합니다. 이 경우 레코드별로 일치시키는 대신 분할 기술을 사용하여 필요한 데이터 집합을 쿼리할 수 있습니다. 도움이 되길 바랍니다.
데이터의 이산도에 따라 다릅니다. 학번과 같이 연속적인 데이터인 경우에는 색인이 필요하지 않습니다. 전화번호와 같이 이산도가 비교적 높은 데이터의 경우 색인 설정을 고려할 수 있습니다.
데이터의 양이 많으면 문자형보다 정수형이 더 효율적입니다
질문자는 인덱스 최적화에 대한 지식을 볼 수 있습니다