백엔드/MySQL

MySQL INDEX

짱뚱짱 2024. 9. 3. 17:44

📢INDEX(인덱스)

데이터 베이스에서 조회할 때 결과를 빠르게 추출하도록 도와주는 키.
기본키가 아닌 일반 키에 대해 조회를 많이 하면, 인덱스 추가를 고려해 볼 수 있음.
- 추가적인 DB공간이 필요 (10%)
- 변경작업(insert, update, delete)이 빈번히 일어난다면 성능 저하를 불러올 수 있음.

📢실습

--student 테이블에 st_name에 인덱스 추가
--create index 인덱스명 on 테이블명(칼럼명);

create index idx_name on student(st_name);
mysql> desc student;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| st_num   | int         | NO   | PRI | NULL    |       |
| st_name  | varchar(20) | NO   | MUL | NULL    |       |
| st_term  | int         | NO   |     | 1       |       |
| st_point | int         | NO   |     | 0       |       |
+----------+-------------+------+-----+---------+-------+
--st_name에 MUL생김

alter table student drop index idx_name;
mysql> desc student;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| st_num   | int         | NO   | PRI | NULL    |       |
| st_name  | varchar(20) | NO   |     | NULL    |       |
| st_term  | int         | NO   |     | 1       |       |
| st_point | int         | NO   |     | 0       |       |
+----------+-------------+------+-----+---------+-------+
--MUL사라진 거 확인할 수 있음.

'백엔드 > MySQL' 카테고리의 다른 글

MySQL LEFT JOIN 활용  (0) 2024.09.03
MySQL VIEW 생성  (0) 2024.09.03
DB 관리 및 쿼리 실습(2)  (6) 2024.09.03
MySQL 외래키(FK, foreign key) 연결 테이블 삭제 순서  (0) 2024.09.03
DB 관리 및 쿼리 실습(1)  (0) 2024.09.02