인덱스: 데이터용으로 생성된 디렉터리입니다.
기능: 쿼리 속도를 높일 수 있습니다
부정적 영향: 추가, 삭제, 수정 속도를 감소시킵니다.
인덱스 생성 원칙:
1: 과도한 인덱스를 사용하지 마세요.
2: 가장 빈번한 where 조건이 있는 열에 추가하지 마세요. 반복률이 높은 열에 추가하세요. 예를 들어 성별: 남성 또는 여성
3: 해시 값을 색인화해 보세요. 너무 집중된 값을 색인화하는 것은 별 의미가 없습니다.
인덱스 종류일반 인덱스: 쿼리 속도를 높이기 위한 인덱스입니다.고유 인덱스: 고유 인덱스 행의 값은 반복될 수 없습니다기본 키 인덱스: 기본 키는 반복될 수 없습니다.기본 키는 고유해야 하지만, 고유 인덱스가 반드시 기본 키일 필요는 없습니다. 테이블에는 기본 키가 하나만 있을 수 있습니다. , 그러나 하나 이상의 고유 인덱스를 사용할 수 있습니다. 전체 텍스트 인덱스: 전체 텍스트 인덱스는 mysql에서 기본값입니다. 이 경우 일반적으로 타사 솔루션에서는 의미가 없습니다 을 사용하는 이유는 영어에는 공백과 구두점이 있어서 이를 단어로 분리한 다음 단어를 색인화하기 때문입니다. 중국어의 경우 단어를 구분하는 공백이 없고 mysql에서는 각 단어를 인식할 수 없습니다. 중국어 단어. ) 전체 텍스트 인덱스는 this, is, you, my 등과 같이 매우 자주 사용되는 단어를 인덱스하지 않습니다. 인덱스 길이: 열 부분 내용을 인덱스로 지정다중 열 인덱스: 2개 이상의 열 값을 하나로 묶어 인덱스로 사용합니다. 영어 웹사이트에서는 이름과 성을 하나로 취급하는데, 이때 where 조건에서는 이름만 역할을 할 수 있고 성은 역할을 하지 않습니다. 중복 인덱스: 특정 열에 인덱스가 여러 개 있습니다. 예를 들어 위의 성에 인덱스를 다시 생성합니다.
인덱스 생성
테이블 생성 시, 즉 컬럼 뒤에 인덱스를 직접 선언할 수 있습니다. 선언이 완료되면 Index를 선언합니다.
예: create table test5 ( id int, username varchar(20),학교 varchar(20), 소개 텍스트, 기본 키(id), 고유(사용자 이름), 색인(학교 ),
fulltext (소개) )engine myisam charset utf8; 테이블의 모든 인덱스 보기인덱스 표시 테이블 이름에서 인덱스 생성테이블 테이블 이름 변경 add index /unique/fulltext [인덱스 이름](열 이름)테이블 테이블 변경 name add 기본 키(컬럼 이름) // 기본 키가 하나만 있으므로 인덱스 이름을 추가하지 않습니다. Delete add index 기본 키가 아닌 삭제 인덱스: 테이블 테이블 이름 변경/인덱스 추가 인덱스 이름;기본 키 삭제: 테이블 테이블 이름 변경 기본 키 삭제/추가