인덱스

[DB] partitioning (파티셔닝 뜻과 종류, 사례)
partitionig? DB 테이블을 더 작은 테이블로 나누는 것을 의미한다 paritioning에는 vertical partitioning과 horizontal partitioning이 있다 vertical partitioning? vertical partitioning은 column을 기준으로 테이블을 나누는 것을 말한다 정규화가 대표적으로 vertical partitioing의 한 종류이다 이미 정규화가 된 테이블이라도 여러 이유로 vertical partitioning을 할 수 있는데, 주로 다음과 같은 이유일 때이다 * 자주 사용되는 column들을 따로 분리하고 싶을 때 * 사이즈가 큰 column이 자주 사용되지 않을 때 * 민감한 정보를 가지는 column들을 따로 분리해서 조금 더 보안을..

DB 테이블에 인덱스(index)가 매우 중요한 이유
만약 table에 인덱스를 걸지 않으면 어떻게 될까? 원하는 데이터를 찾고 싶을 때 table 전체를 full scan 해야 한다 full scan 이란? row를 하나하나씩 모두 확인하는 것을 의미하며, table scan 이라고도 부른다 full scan은 당연히 시간이 오래 걸리기 때문에 서비스에 좋지 않은 영향을 끼친다 아래와 같이 ARTICLE 테이블이 있다고 가정해보자 article_id writer_id title created_at read_cnt comment_cnt 1 aaa ... ... ... ... 2 bbb ... ... ... ... ... ... ... ... ... ... 만약 codingyo가 작성한 글을 찾고 싶다면 쿼리문은 아래와 같다 SELECT * FROM arti..