programing

Varchar의 인덱스는 성능에 차이가 있습니까?

megabox 2023. 7. 23. 14:09
반응형

Varchar의 인덱스는 성능에 차이가 있습니까?

varchar 열의 인덱스로 인해 쿼리 실행 속도가 느려집니까?저는 그것을 int로 만들 수 있습니다. 그리고 LIKE % 비교를 할 필요가 없습니다.

varchar 열의 인덱스로 인해 쿼리 실행 속도가 느려집니까?

아니, 그렇지 않아.
최적화 도구가 인덱스를 사용하기로 결정하면 쿼리가 더 빨리 실행됩니다.INSERTs/UPDATEs/DELETE저 테이블 위의 아들은 더 느리겠지만, 눈치챌 만큼은 아닐 것입니다.

LIKE %를 비교할 필요가 없습니다.

다음을 사용해야 합니다.

LIKE '%whatever%'

...인덱스를 사용하지 않지만 다음은 사용합니다.

LIKE 'whatever%'

키가 문자열의 왼쪽을 와일드카드로 지정하면 열의 인덱스를 사용할 수 없습니다.

MySQL은 인덱스에 대해 설정된 공간의 양을 제한합니다. MyISAM 테이블의 경우 최대 1000바이트(InnoDB의 경우 767바이트)일 수 있습니다.

만약 당신이 당신의 바르샤바 열을 정수로 바꿀 수 있다면 (나는 당신이 암시하는 것이라고 생각합니다) 그러면 정수 열을 포함한 인덱스가 몇 가지 이유로 바르샤바 열보다 더 잘 수행될 것입니다.

  1. 인덱스 크기가 더 작아지고 페이징이 더 적게 사용됩니다.
  2. 정수의 비교가 바르샤르보다 훨씬 낫습니다.

색인화를 수행하면 쿼리 속도가 느려지는 것이 아니라 데이터베이스 크기가 커지기 때문에 한 번 해 보십시오.

행을 가져올 때 더 나은 성능을 얻을 수 있어야 하지만 데이터, 쿼리에 따라 다릅니다.

인덱싱을 통해 쿼리 속도를 더 이상 늦출 수 없습니다.열을 int 형식으로 만들 수 있다면 대부분의 RDBMS는 varchars보다 int를 더 빨리 검색할 수 있기 때문에 그렇게 하는 것이 좋습니다.

언급URL : https://stackoverflow.com/questions/1898453/does-index-on-varchar-make-performance-difference

반응형