Day13_MYSQL_ INDEX

2023. 3. 21. 16:50SQL

1) 인덱스의 역할 및 기능 

  1. 테이블의 동작속도(조회)를 높여주는 자료구조
  2. 데이터의 위치를 빠르게 찾아주는 역할
  3. MYI(MYSQL Index)라는 파일에 저장
  4. MySQL에서는 primary key, unique 등록시 해당 컬럼이 index 적용
  5. 인덱스는 하나 또는 여러개의 컬럼에 적용 가능
  6. 가급적 업데이트가 안되는 필드에 설정하는 것이 좋음

 

2) order by, group by와 index 관계

 

효과가 일어나지 않는 예)
- order by 인덱스 컬럼, 일반 컬럼: 복수에 키에 대해 order by를 사용한 경우
- where 일반컬럼1 = '값' order by 인덱스 컬럼: 연속하지 않는 컬럼(띄어쓰기가 잇는 경우)에 대해 order by를 실행한 경우
- order by 인덱스컬럼1 desc, 인덱스컬럼2 asc : desc와 asc를 혼합하여 사용한 경우
- group by 일반컬럼1 order by 인덱스컬럼: group by와 order by의 컬럼이 다른 경우
- order by 함수(인덱스컬럼): order by 절에 컬럼이 아닌 다른 표현을 사용한 경우

 


3) 인덱스 문법

 

단일 인덱스 
    create index 인덱스명 on 테이블명(필드명);
    
다중 인덱스
    create index 인덱스명 on 테이블명(필드명1,필드명2...);
    
인덱스 조회
    show index from 테이블명;
    
인덱스 삭제 (좀 특이!)
    alter table 테이블명 drop index 인덱스명;
728x90

'SQL' 카테고리의 다른 글

NoSQL MongoDB-Compass에 data import 시키기  (0) 2023.05.16
NoSQL 기초  (0) 2023.05.09
Day13_MYSQL_ 사용자 추가하기, 권한 부여, 삭제  (0) 2023.03.21
Day13_MYSQL_ truncate 구문  (0) 2023.03.21
Day13_MYSQL_ 트렌섹션(transaction)  (0) 2023.03.21