갈림길 이정표

[SQL] Index, Select (Now(), Sysdate()) 본문

Programming Language/SQL (Maria DB)

[SQL] Index, Select (Now(), Sysdate())

이몽뇽 2020. 7. 28. 12:21
  • Index(색인): 검색속도를 향상시키기 위해 검색이 빈번한 칼럼에 색인 부여

- 일부 저장 메모리 할당됨 = 메모리 소모에도 불구하고 가치 있음 [편리성] - 검색 속도가 빨라짐

 

- pk칼럼은 자동으로 색인 부여 됨.

- index를 사용해야 하는 경우: ①레코드 수가 많을 때, ②join이 자주 등장할 때, ③null이 많이 포함된 칼럼 검색할 경우

- index를 자제해야 하는 경우: 입력, 수정, 삭제가 빈번한 테이블 (Index가 자주 바뀌면 속도가 느려짐)

 

-기본 BTREE (Balaneced TREE) 

-테이블 Index (기본), 각 field Index 부여 가능 (creat index 또는 alter table 테이블 명 add index )

 

-Index 생성: Create Index 색인.명 On 테이블.명(필드.명);

 

-Index 삭제: Drop Index 색인.명 On 테이블.명;

 

※explain ( + SELECT 조건문과 함께 씀): SELECT 문의 결과가 어떤 형식으로 나올지 

더보기
MariaDB [test]> EXPLAIN SELECT gogek_damsano From gogek where gogek_no >=(select gogek_no from gogek where gogek_damsano=1);
+------+-------------+-------+-------+------------------+------------------+---------+-------+------+-------------+
| id   | select_type | table | type  | possible_keys    | key              | key_len | ref   | rows | Extra       |
+------+-------------+-------+-------+------------------+------------------+---------+-------+------+-------------+
|    1 | PRIMARY     | gogek | range | PRIMARY          | PRIMARY          | 4       | NULL  | 3    | Using where |
|    2 | SUBQUERY    | gogek | ref   | FK_gogek_damsano | FK_gogek_damsano | 5       | const | 1    | Using index |
+------+-------------+-------+-------+------------------+------------------+---------+-------+------+-------------+
2 rows in set (0.025 sec)

※desc ( + 테이블.명): 해당 테이블에 어떤 칼럼이 있고, 각 칼럼별 특성을 알 수 있음

 

 

Select now(): (일반적) 현재시간 표시

Select Sysdate() + sleep(): 두가지 이상의 시간 차이를 둘 수 있음

 

※Sleep(시간)

Comments