SQL Server 2014: 실습2 인덱스 만들기

뇌를 자극하는 SQL Server 2012 기본편 90페이지

——-데이터베이스 생성———

clip_image001

새 데이터베이스

clip_image002

ShopDB 데이터베이스 생성

clip_image003

테이블 생성

clip_image004

위와 같이 생성

clip_image005

기본 키 설정(memberID)

clip_image006

memberTBL로 저장

clip_image007

자동으로 dbo 라는 이름이 붙음. 도서에서는 스키마라고 함.

clip_image008

productTBL은 위와 같이 생성

——-데이터 입력 ————

clip_image009

dbo.memberTBL의 상위 200개 행 편집

clip_image010

닫기

clip_image011

dbo.productTBL 편집

———-데이터 활용(쿼리 실습)————-

clip_image012

select * from memberTBL;

clip_image013

select memberName, memberAddress from memberTBL;

clip_image014

—–간단히 테이블 생성/삭제——-

clip_image015

CREATE TABLE “my testTBL” (id INT);

테이블 생성.

clip_image016

DROP TABLE [my TestTBL];

테이블 삭제.

——-인덱스 개념 잡기——-

clip_image017

SELECT Name, ProductNumber, ListPrice, Size INTO indexTBL
FROM AdventureWorks.Production.Product;
GO
SELECT * FROM indexTBL;

AdventureWorks.Production.Product의 Name, ProductNumber, ListPrice, Size 컬럼을 indexTBL로 복사

clip_image018

SELECT * FROM indexTBL WHERE Name=’Minipump’;

clip_image019

Ctrl+L 을 누르거나

clip_image020

예상 실행 계획 표시를 누르면 나오는 화면. 쿼리가 어떻게 작동했는지 확인 가능. 일단 여기에서는 ‘테이블 스캔’을 통해 실행되었다는 것을 알 수 있다.(인덱스를 사용하지 않음)

예상 CPU 비용

예상 I/O 비용

예상 연산자 비용

0.0006329

0.0061665

0.0067994

clip_image021

CREATE INDEX idx_indexTBL_Name ON indexTBL(name);

productTBL의 제품 이름(prodName) 열에 인덱스 생성

clip_image022

SELECT * FROM indexTBL WHERE Name=’Minipump’;

인덱스 생성 후 다시 앞에서 동작시켰던 쿼리를 확인. 이번에는 Index Seek(인덱스 사용)으로 결과를 찾아냄.

인덱스 작성 /

예상 CPU 비용

예상 I/O 비용

예상 연산자 비용

Before

0.0006329

0.0061665

0.0067994

After

0.0001581

0.003125

0.0032831

예상되는 비용이 모두 줄어들었다. 인덱스를 생성한 것만으로 성능 상 효과를 볼 수 있네.

이것도 살펴보세요!

WSL 개발 환경 설정

WSL로 개발 환경 설정하는 법 https://learn.microsoft.com/ko-kr/windows/wsl/setup/environment 1. 아래 명령으로 WSL을 설치하고, 리눅스 사용자 이름과 암호 …

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다