0914
또 복습이 밀렸다 :(
점심을 먹고 체했는지 오후 수업 내내 머리아프고 그래서 끝나고 바로 자버렸다..
얼른 끝내고 오늘 배운 내용도 정리해보자
RDBMS에서 검색 속도를 향상시키기 위해 사용한다.
Table 의 column을 색인화( 따로 파일로 저장 ) 하여 검색 시 해당 Table의 record를 전부 스캔하는 것이 아닌 색인화되어있는 index파일을 검색한다!
B+트리 형태로 저장
장점:
1) 검색 / 정렬 속도 향상
2) 질의나 보고에서 그룹화 작업의 속도 향상
3) where 조건에 사용되는 컬럼을 인덱스에 사용
4) 테이블 행의 고유성 강화
5) 기본 키는 자동으로 인덱스가 된다
단점:
1) 인덱스된 필드에서 데이터를 업데이트, 레코드 추가/ 삭제 시 성능이 떨어진다
2) 인덱스가 데이터베이스 공간을 차지해서 추가적인 공간이 필요하다.
3) 인덱스를 생성하는데 시간 소요
4) 데이터 변경이 자주 일어난다면 인덱스를 재작성해야하므로 성능에 영향
5) 데이터 중복이 많은 컬럼은 인덱스를 만들어도 효과 미미
Insert into 테이블이름 ( col1, col2) values ( val1, val2 );
-> column명은 생략 가능하지만 value에 적는 개수가 column 개수와 다르면 적어주어야!
기본조회
Select 조회할 컬럼 이름들 from 조회할 테이블이름 where 조건;
-> 전체 컬럼을 조회할 경우 조회할 컬럼 이름들 대신 * 표시
중복제거
Select distinct 중복제거할 컬럼이름들 from 조회할 테이블이름 where 조건;
정렬
Select 조회할 컬럼 이름들 from 조회할 테이블이름 where 조건 order by 정렬기준;
-> ASC(오름차순) , DESC(내림차순)
JOIN
Select * from a_table join b_table on a_table
-> inner , left, right 등 다양한 조건들 있음
Update 테이블이름 set col1=val1, col2=val2 where 조건;
Delete from 테이블이름 where 조건;
차근차근 하면 되는데 나는 이전에 설치해둔 것 지우고 새로 하려니 너무 복잡했다..
- Datatype : 정수, 실수, 가변길이문자열, 장문 문자열 등 선택가능
- PK: Primary Key (기본키) 설정 idx느낌
- AI (Auto Increasement) : 레코드 삽입 시 자동으로 값 증가
=> id값 따로 안써줘도 알아서 1증가해서 들어가짐
- NN (not Null): null 허용 안함 설정
- UQ (Unique) : 테이블에서 중복 값 허용 안함 설정
- BIN (Binary) : 이진 값으로 설정
- UN (Unsigned) : 부호 없는 양의 값으로 설정
- ZF (Zerofill) : 정수 들어오면 앞에 0 채움 설정
- G (Generated) : 가상 컬럼으로 설정
- Default : 값이 들어오지 않았을때 default값을 설정