database/MYSQL

sql index 생성

부엉이사장 2022. 12. 3. 23:24

유니크 인덱스는 중복값있는데 쓰지말아야함.

 

# 인덱스 상태 확인

show index from 테이블명;

show table status like '테이블명'

 

#인덱스 생성

create index 인덱스이름 on 테이블명 (컬럼이름)

 

#인덱스 적용

analyze table 테이블명

 

 

select * from table 할때 모두찾는거라 인덱스 사용 안하고 전체뒤짐

where 절에 나와야만 인덱스를 사용하는거임.

 

where 절에서 인덱스 쓰려면 조건에 가공을 하면안됨 

ex) mem_num *2 >=14 이런식으로 조회하면안됨.

mem_num >= 7으로 조회하면 인덱스 사용함. 

 

 

#인덱스 제거

drop index 인덱스이름 on 테이블명;

 

#프라이머리키 제거

alter table 테이블명 drop primary key;

 

 

#인덱스명 이렇게 짓자

idx_테이블명_컬럼명