250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- locals()
- View
- inplace()
- __annotations__
- count()
- MySQL
- MySqlDB
- node.js
- choice()
- Database
- randrange()
- glob
- decode()
- __len__
- items()
- CSS
- JS
- shutil
- shuffle()
- fnmatch
- HTML
- mro()
- zipfile
- __getitem__
- __sub__
- 파이썬
- discard()
- remove()
- 오버라이딩
- fileinput
Archives
- Today
- Total
흰둥이는 코드를 짤 때 짖어 (왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!)
(MySQL) 기초 문법(인덱스) 본문
728x90
반응형
인덱스(index)
- 테이블의 동작속도(조회)를 높여주는 자료구조
- 데이터의 위치를 빠르게 찾아주는 역할
- MYI(MySQL Index)파일에 저장
- 인덱스를 설정하지 않으면 Table Full Scan이 일어나 성능이 저하되거나 장애가 발생할 수 있음
- 조회속도는 빨라지지만 update, insert, delete의 속도는 저하될 수 있음
- MySQL에서는 primary key, unique 제약조건을 사용하면 해당 컬럼에 index가 적용됨
- 인덱스는 하나 또는 여러 개의 컬럼에 설정할 수 있음
- where절을 사용하지 않고 인덱스가 걸린 컬럼을 조회하면 성능에 아무런 효과가 없음
- 가급적 update가 안되는 값을 설정하는 것이 좋음
oreder by, group by와 index
- oreder by 인덱스컬럼, 일반컬럼: 복수의 키에 대해 oreder by를 상용한 경우
- where 일반컬럼='값' 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 절에 컬럼이 아닌 다른 표현을 사용한 경우
인덱스 문법
# create index 인덱스명 on 테이블명(필드이름)
# create index 인덱스명 on 테이블명(필드이름1, 필드이름2 ...)
인덱스 조회하기
# show index from 테이블명
인덱스 삭제하기
# alter table 테이블명 drop index 인덱스명;
실습
show index from member;

create index idx_hp on member(hp);

alter table member drop index idx_hp;

728x90
반응형
'MySQL' 카테고리의 다른 글
(MySQL) 기초 문법(트랜젝션) (0) | 2023.03.21 |
---|---|
(MySQL) 기초 문법(뷰) (0) | 2023.03.21 |
(MySQL) 사용자 (1) | 2023.03.21 |
(MySQL) 기초 문법(테이블 복사) (0) | 2023.03.20 |
(MySQL) 기초 문법(문자열 함수) (0) | 2023.03.20 |