✍🏻study/👣DB

    Transaction정리

    Transaction이란❓ 하나의 논리적 기능을 수행하기 위한 작업의 단위이다. 즉, 복수 쿼리를 독립적으로 한 단위로 묶는 것이다. 물론, 하나의 쿼리도 transaction으로 볼 수 있다. 여기서 논리적 단위란 한 번에 수행되어야 일련의 연산이다. 그럼 Transaction을 왜 써야 할까❓ 데이터의 일관성을 유지하면서, 안정적으로 데이터를 복구하기 위해서 써야된다. 아직 써야되는 이유가 와닿는 거 같지는 않다. Transaction의 특징을 알아보자!! Transaction 특징 transaction의 특징은 ACID이다. Atomicity(원자성) -> 단위 - 한 트랜잭션 내에서 실행한 연산들은 하나의 작업으로 본다. 즉, 모두 성공하거나 모두 실패하는 구조를 가진다. Consistency(일..

    Index정리

    Index란❓ 데이터베이스 테이블의 검색 속도를 향상 시키기 위한 자료구조이다. 장점으로는 검색 속도를 향상 시킬 수 있다. 즉 조회 성능을 향상 시키기 위해서 사용하는 것이다. 그럼 어떤 단점이 있을까? 단점으로는 인덱스를 관리하기 위한 별도의 공간이 필요하다.(DB의 약 10%) 인덱스를 관리하기 위해, 인덱스 추가, update, delete 작업이 필요합니다. 그래서 잘못 사용하는 경우에는 오히려 성능을 저하시킬 수 있습니다. Index는 어떤 자료구조를 사용할 까❓ 먼저 정답부터 말하자면 B+tree(Mysql기준)를 사용한다. 그럼 왜 B+tree를 사용할까? b+tree는 b-tree에서 나온 자료구조이다. 또 b-tree는 이진 검색 트리에서 나온 자료구조이다. 이진 검색 트리의 특징을 먼..