색인을 만들 때 색인 필드의 길이를 지정합니다

876 단어 mysql
  • mysql에서 인덱스를 만들 때 인덱스 길이 지정
  • 대부분의 인덱스는 앞부분의 길이가 잘 구분된다.색인 길이를 줄여서 색인 파일의 크기를 줄이고 데이터의 insert를 가속화할 수 있습니다.
    CREATE INDEX index_name ON table_name (column_name(length), clolumn_name(length)…);
    
    

    현재 필드에 적당한 길이를 설정하는 것을 어떻게 확인합니까? 
    select count(distinct left(password, 5))/count(*) from user
  • mysql 인덱스 길이와 키len 컴퓨팅
  • mysql 매뉴얼에 키length의 상세한 소개, 테스트를 통해 키 검증length의 계산 방식.
  • 색인 필드가char, int,datetime 같은 긴 데이터 형식일 때, NULL인지 아닌지의 표시가 있으면 이 표시는 1바이트를 차지해야 한다.
  • 길어진 데이터 형식, 예를 들어 varchar는 NULL의 표시인지 여부 외에 길이 정보가 필요하고 2바이트를 차지해야 한다.필드가 NOT NULL로 정의된 경우 NULL 태그가 바이트를 차지하지 않습니다.
  • 서로 다른 문자 집합,latin1은 한 문자 한 바이트,gbk는 한 문자 두 바이트,utf8은 한 문자 세 바이트를 인코딩한다.색인을 만들 때 색인의 길이를 지정할 수 있습니다. 예를 들어alter table test add index uri(uri(30).길이 30은 문자의 개수를 가리킨다. 만약utf8 인코딩 varchar(255)라면 키length=30*3+2=92바이트.
  • 좋은 웹페이지 즐겨찾기