[CS 정리] INDEX

June·2021년 5월 31일
0

[CS] CS 지식 정리

목록 보기
13/27
post-thumbnail

[10분 테코톡] 👨‍🏫안돌의 INDEX

Index

Clustered vs Non-Clstured

Clustered

정렬된 data record를 유지하기 위해 하나씩 밀어내는데 시간이 많이 걸린다.

Non-Clustered

Review

clustered index는 한 테이블에 하나 밖에 못만든다. 그 이유는 데이터가 하나의 기준에 의해 정렬되기 때문이다.

There can be only one clustered index per table, because the data rows themselves can be stored in only one order. The only time the data rows in a table are stored in sorted order is when the table contains a clustered index. When a table has a clustered index, the table is called a clustered table

왜 clustered index는 하나밖에 없는가

INSERT를 할 경우 데이터가 다 밀리는 경우가 생겨서 시간이 많이 걸린다.

보통 PK를 autoincrement로 주는데, 하나씩 증가하여 맨뒤에 넣기 위해서이다.

email을 id로 하면 a로 시작하는 이메일이 나중에 생성되면 시간이 많이 걸린다.

[10분 테코톡] 🦋 레베카의 인덱스

인덱스가 왜 필요할까?

인덱스의 구조와 원리

인덱스를 언제 쓰는게 좋을까?

SELECT에서는 좋고

INSERT, UPDATE, DELETE에서는 오히려 성능을 저하시킨다

INSERT는 왜 성능을 저하시킬까?

데이터가 삽입되거나 삭제되면 데이터들의 이동이 필요하다.

DELETE

사용안함이라는 표시를 해줘야해서 공간 낭비가 필요하다

UPDATE

dbms에서는 실제로 삭제를하고, insert를 해준다.

인덱스 column 설정 기준

Cardinality(기수성)가 높은 것

주민번호로 찾는 것이 가장 좋다. cardinality는 종류의 수를 의미한다. 성별은 두가지 종류밖에 없고 주민번호는 사람마다 있다.

0개의 댓글