여러 개의 테이블을 만드느냐, 하나의 테이블을 만드느냐
·
Development/Database
목적에 따라 다르다. 하나의 테이블로 만든다면, 쿼리문을 덜 날리기 때문에 훨씬 빠르겠지만, 불필요한 정보들이 많이 들어갈 수도 있게 된다. 반면에 여러 개의 테이블을 만든다면, 쿼리문을 많이 날려야 하기 때문에 속도가 느려질 수 밖에 없고, 아마존등에 내야 하는 비용 문제도 있다.
데이터베이스에서 index를 지정하는 것
·
Development/Database
데이터베이스에서 인덱스를 지정하면 해당 컬럼의 정보들을 b-tree로 관리하게 된다. b-tree로 관리하면 검색 속도가 빨라지게 된다. PK(Primary Key)는 기본적으로 인덱스로 지정된다.
[Algorithms] B tree에 대한 개념 정리
·
Development/Algorithms
B-트리(B-tree)에 대해 공부한 후 문서로 남긴다. B트리에 대해 자세히 알아본 계기는 인턴 과정 중이었다. 데이터베이스와 파일 시스템에서 널리 사용되기 때문인 것 같다. B트리는 이진 트리를 확장한 개념인데, (그러나 B-트리는 이진 트리가 아니다.) 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조다. B트리 쓰임새 디스크 I/O의 기본 단위는 블록이다. 디스크로부터 데이터를 읽거나 기록할 때 이를 포함하는 디스크 블록 전체를 메모리로 읽어오고 다시 블록 전체를 디스크에 기록하는 방식으로 디스크 I/O가 일어난다. 디스크에 접근하기 위한 시간은 다음과 같이 구할 수 있다. Access time = seek time + latency + transfer time; - se..