Notice
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 깃허브 간단요약
- 셋업
- jsp 내부객체
- 버튼
- 폼태그
- 스프링
- EL태그
- Spring
- jstl
- springboot
- 자바스크립트
- SESSION
- 설정
- 오라클
- 설치
- 제이쿼리
- Eclipse
- jsp
- 자바
- 면접
- 이클립스
- 알고리즘
- Oracle
- html
- java
- jquery
- 마이바티스
- MySQL
- 깃허브
- 필터체인
Archives
- Today
- Total
은은하게 코드 뿌시기
[DB] 인덱스 - Oracle/MYSQL 본문
728x90
인덱스란?
:색인, 데이터 검색 성능의 향상을 위해 테이블 열에 사용하는 객체
책을 처음부터 끝까지 읽어보면서 찾는 것보다, 목차를 이용해 찾는 것이 빠른 경우 에 사용 하는 개념.
인덱스는 사용자가 직접 특정 테이블의 열에 지정할수도 있지만 열이 기본키(primary key) 또는 고유키(unique key)일 경우 에 자동으로 생성됩니다.
1. ORACLE 의 인덱스
계정이 소유한 인덱스 정보 알아보기 | Select * from user_indexes; |
계정이 소유한 인덱스 컬럼 정보 알아보기 | Select * from User_ind_colums; |
인덱스 생성 | 1. 단일인덱스 (single index) CREATE INDEX IDX_EMP_SAL ON EMP(SAL); 2. 복합인덱스(concatenated index)/ 결합인덱스(composite index) : 두개 이상 열로 만들어지는 인덱스 , Where 절의 두열이 AND 연산자로 묶이는 경우 CREATE INDEX IDX_NAME ON EMP(SAL, ENAME, ...); 3. 고유 인덱스 (unique index) : 열에 중복 데이터가 없을때 사용, UNIQUE 키워드를 지정하지 않으면 비고유인덱스 (non unique idnex) 가 기본값 CREATE UNIQUE INDEX IDX_NAME ON EMP(EMPNO); 4. 함수기반 인덱스 (function based index) : 열에 산술식 같은 데이터 가공이 진행된 결과로 인덱스 생성 CREATE INDEX IDX_NAME ON EMP(SAL*12+COMM); 5. 비트맵 인덱스(bitmap index) : 데이터 종류가 적고 같은 데이터가 많이 존재할 때 주로사용 CREATE BITMAP INDEX INDX_NAME ON EMP(JOB); |
생성된 인덱스 조회 | SELECT * FROM USER_IND_COLUMS; |
인덱스 삭제 | DROP INDEX IDX_EMP_SAL; |
1. MY SQL 의 인덱스
인덱스 조회 | show index from tb_board; |
인덱스 생성 | 1. 단일 인덱스 CREATE INDEX TESTINDEX ON actor(last_update); 또는 ALTER TABLE actor ADD INDEX TESTINDEX(last_update); 2.복합 인덱스, 결합인덱스 CREATE INDEX TESTINDEX ON actor(first_name, last_update); CREATE INDEX TESTINDEX ON actor(last_update); 3. 고유인덱스 : 중복값을 허용하지 않는 인덱스 CREATE unique INDEX TESTINDEX ON actor(last_update); |
인덱스 삭제 | ALTER TABLE actor DROP INDEX TESTINDEX; |
인덱스 정렬 | CREATE INDEX TESTINDEX ON actor(last_update DESC); CREATE INDEX TESTINDEX ON actor(last_update ASC); |
인덱스 타는지 확인 | explain select * from actor; explain select * from actor where first_name ='ELVIS'; |
728x90
'Database -Mysql,Oracle' 카테고리의 다른 글
[DB] 시퀀스(sequence) - ORACLE/MYSQL sequence 만들기 (0) | 2022.08.29 |
---|---|
[DB] 뷰(view) /인라인뷰/ ROWNUM (0) | 2022.08.26 |
[DB] 데이터사전(data dictionary) - oracle, mysql / information_schema (0) | 2022.08.23 |
MY SQL WORKBENCH DB에서 외래키 설정하기 (0) | 2022.08.22 |
[DB] DDL/Data Definition Language/데이터 정의어 (0) | 2022.08.16 |
Comments