DB를 사용할 때 Index는 필수입니다.
여러 곳에서 인덱스를 꼭 사용합니다.
다만, 인덱스는 양날의 검입니다.
잘 사용하면 좋지만, 잘못 사용하면 오히려 실이 많은 그런 것입니다.
그럼 SQL Server에서 Index사용하는 방법에 대해서
정리해보겠습니다.
1. 인덱스란?
테이블의 데이터를 조회할 때,
빠르고 효과적으로 조회할 수 있도록 도와주는 데이터 구조입니다.
조회할 때는 더 빠르게 조회할 수 있으나,
Insert Update등의 작업을 할 때는 인덱스를 새로 구성해야 하다보니
성능이 저하될 수 있습니다.
2. Index(중복 허용)
인덱스는 중복을 허용하게 만들 수 있고,
중복이 허용되지 않도록 만들 수도 있습니다.
이번에는 중복이 허용되는 인덱스 생성하는 방법에 대해서 확인해보겠습니다.
우선 인덱스를 걸기 위한 임시테이블을 하나 만들겠습니다.
CREATE TABLE TEST ( MEMBER_NAME VARCHAR(10) , MEMBER_TELNO VARCHAR(15) )
위 테이블에 member_name 컬럼에 인덱스를 생성하도록 하겠습니다.
CREATE INDEX TEST_IDX1 ON TEST (MEMBER_NAME)
위처럼 생성을 하면 됩니다.
그러면 member_name 컬럼에 값이 중복된 걸로 들어가도
문제없이 들어가집니다.
3. Index(중복 비허용)
2번에서 만들었던 테이블을 이용해서
이번에는 중복이 허용되지 않는 인덱스를 만들어 보도록 하겠습니다.
쿼리는 다음과 같습니다.
CREATE UNIQUE INDEX TEST_IDX2 ON TEST (MEMBER_NAME)
위처럼 작성을 하면 됩니다.
2번에서의 인덱스 생성하는 것과의 차이는
UNIQUE가 들어있고, 안들어있고 차이입니다.
들어가게 되면 중복을 허용하지 않는 것이고,
들어가면 중복을 허용하는 것입니다.
중복이 허용되지 않으면 그냥 PK 설정을 해 놓은 것과 비슷하다고 생각하시면 되십니다.
4. 참고사항
인덱스를 생성할 때 컬럼명 뒤에 정렬조건을 넣을 수 있습니다.
ASC, DESC 등을 넣을 수 있습니다.
그러면 해당 조건에 맞춰서 정렬이 되어서 인덱스가 생성이 됩니다.
그러니 자주 쓰는 조건에 맞춰서 사용해주시면 되십니다.
이상으로 MS-SQL에서 Index 생성하는 방법이였습니다~
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
[MS-SQL]테이블 사용 용량 확인하기 (0) | 2019.04.23 |
---|---|
[MS-SQL]Oracle과의 함수 차이 (0) | 2019.04.22 |
[MS-SQL]SSMS 단축키 (0) | 2019.04.16 |
[MS-SQL]컬럼명으로 테이블 검색하기 (0) | 2019.04.11 |
[MS-SQL]CHECK 이용하여 입력값 제한하기 (0) | 2019.04.10 |