[DB] index, view

이름이름·2022년 12월 18일
0

DB

목록 보기
7/7

index 생성

index를 지정해주지 않으면 primary key를 기준으로 index가 적용이 되어 정렬함 (자동으로index걸린것)
결국 조건을 걸 column에 대해서 index를 생성해야 조건을 걸어 select 할 때 속도가 빨라질 수 있음


create index index이름 on 테이블(원하는 속성)

SALE 테이블에서는 조건문에 customer_ssn를 자주 사용하기 때문에 customer_ssn을 기준으로 index를 생성함
나머지 테이블들에는 자동적으로 primary key를 기준으로 index가 걸려있고 조회할 때 대부분 primary key인 속성을 조건으로 걸었기 때문에 따로 index를 생성해주지 않았음

View 생성

가상의 테이블 생성 (특정 테이블에서 원하는 column만 쏙 빼서 따로 테이블 생성)-> 굳이 남에게 보여주기 싫은 column 이나 select 시 자주 쓰는 column을 고려해 선택

현재 SALESPERSON테이블을 보면 아래와 같습니다

현재 Car_Dealer 웹사이트 개발 중 salesperson테이블에서 필요한 값은 SPid와 Name뿐이고 SP_id와 SP_password는 잘 쓰지 않는 상태입니다. 따라서 view를 SPid와 Name에 대해서만 생성하기로 했습니다

create view view_salesperson(view명) as select SPid,Name(가져올 속성) from salesperson 을 명령해서 생성했습니다
만든 view를 select * from view_salesperson으로 확인해 보았을 때 정상적으로 생성된 것을 확인할 수 있었습니다

또 이번엔 CUSTOMER테이블을 보겠습니다

현재 이 CUSTOMER테이블에서 당장 필요한 것은 Ssn, Name, C_id, C_password 정도입니다. Address_State, Address_Street, Address_City와 같은 고객의 주소는 필요하지 않기 때문에 여기서도 view를 생성하기로 했습니다

위와 같이 create view view_customer (view명) as select Ssn,Name,C_id,C_password (가져 올 속성) from customer (가져올 테이블); 을 명령해 view를 생성했습니다
select로 확인해 본 결과 정상적으로 view가 생성된 것을 알 수 있었습니다

profile
공부 정리

0개의 댓글