Varchar의 인덱스는 성능에 차이가 있습니까?
varchar 열의 인덱스로 인해 쿼리 실행 속도가 느려집니까?저는 그것을 int로 만들 수 있습니다. 그리고 LIKE % 비교를 할 필요가 없습니다.
varchar 열의 인덱스로 인해 쿼리 실행 속도가 느려집니까?
아니, 그렇지 않아.
최적화 도구가 인덱스를 사용하기로 결정하면 쿼리가 더 빨리 실행됩니다.INSERT
s/UPDATE
s/DELETE
저 테이블 위의 아들은 더 느리겠지만, 눈치챌 만큼은 아닐 것입니다.
LIKE %를 비교할 필요가 없습니다.
다음을 사용해야 합니다.
LIKE '%whatever%'
...인덱스를 사용하지 않지만 다음은 사용합니다.
LIKE 'whatever%'
키가 문자열의 왼쪽을 와일드카드로 지정하면 열의 인덱스를 사용할 수 없습니다.
MySQL은 인덱스에 대해 설정된 공간의 양을 제한합니다. MyISAM 테이블의 경우 최대 1000바이트(InnoDB의 경우 767바이트)일 수 있습니다.
만약 당신이 당신의 바르샤바 열을 정수로 바꿀 수 있다면 (나는 당신이 암시하는 것이라고 생각합니다) 그러면 정수 열을 포함한 인덱스가 몇 가지 이유로 바르샤바 열보다 더 잘 수행될 것입니다.
- 인덱스 크기가 더 작아지고 페이징이 더 적게 사용됩니다.
- 정수의 비교가 바르샤르보다 훨씬 낫습니다.
색인화를 수행하면 쿼리 속도가 느려지는 것이 아니라 데이터베이스 크기가 커지기 때문에 한 번 해 보십시오.
행을 가져올 때 더 나은 성능을 얻을 수 있어야 하지만 데이터, 쿼리에 따라 다릅니다.
인덱싱을 통해 쿼리 속도를 더 이상 늦출 수 없습니다.열을 int 형식으로 만들 수 있다면 대부분의 RDBMS는 varchars보다 int를 더 빨리 검색할 수 있기 때문에 그렇게 하는 것이 좋습니다.
언급URL : https://stackoverflow.com/questions/1898453/does-index-on-varchar-make-performance-difference
'programing' 카테고리의 다른 글
MySQL에서 지연 함수 시뮬레이션 (0) | 2023.07.23 |
---|---|
오라클 업데이트 문에서 테이블 이름 대신 하위 조회 사용 (0) | 2023.07.23 |
Python에서 "ImportError: No module name..." 오류를 해결하는 방법은 무엇입니까? (0) | 2023.07.23 |
perl - 데이터베이스에서 여러 요청을 보냅니다. (0) | 2023.07.23 |
각진 js에 사용된 것과 같은 매개 변수로 명명된 유형 스크립트? (0) | 2023.07.18 |