DB

· DB
트랜잭션의 격리 수준이란?동시에 여러 트랜잭션이 실행될 때 한 트랜잭션이 다른 트랜잭션의 연산에 영향을 받지 않도록 하는 정도이다.낮은 격리 수준은 동시 처리 능력을 높이지만, 데이터의 일관성 문제를 발생시킬 수 있고, 높은 격리 수준은 데이터의 일관성을 보장하지만, 동시 처리 능력이 떨어질 수 있다. 💡 개발자 입장에서 트랜잭션 격리 수준을 왜 알아야 할까?여러 트랙잭션이 서로의 연산에 영향을 받아 동시성 관련 버그가 발생하면 디버깅이 어렵다. 격리 수준을 제대로 이해하면 Dirty Read, Non-repeatable Read, Phantom Read 같은 문제를 예상할 수 있고, 발생 시 더 빠른 디버깅이 가능하다. 또, 선택한 DBMS마다 기본 격리 수준이 달라 이를 모르고 개발을 진행한다면 각..
· DB
인덱스란?인덱스는 데이터베이스의 검색 속도를 향상시키기 위한 자료구조이다. 인덱스는 데이터를 빠르게 찾을 수 있도록 도와준다.특정 컬럼에 대해 생성되며, 이 인덱스는 해당 컬럼의 값과 해당 레코드가 저장된 물리적 위치 정보를 가진다. 쿼리를 실행하면, 테이블 전체를 스캔하는 대신 인덱스를 먼저 확인하여 필요한 데이터의 위치를 빠르게 찾아낼 수 있다.  인덱스의 종류인덱스는 2가지로 분류할 수 있다. Clustered Index와 Non-clustered Index이다.  Clustered Index클러스터드 인덱스는 물리적으로 데이터를 인덱스 키 값의 순서에 따라 연속된 위치에 저장한다.특징:테이블당 하나만 존재 가능하나의 테이블에는 하나의 클러스터드 인덱스만 가질 수 있다. 물리적 데이터는 한 가지 기..
· DB
트랜잭션 트랜잭션은 데이터베이스의 상태를 변경하기 위한 작업의 단위를 의미한다. 우리는 데이터베이스의 상태를 변경하기 위해 네 가지 기본적인 SQL을 사용한다. select insert update delete 명령어를 하나만 사용해서 트랜잭션을 구성할 수 있지만, 여러 명령어를 사용해 하나의 트랜잭션을 구성할 수도 있다. ex. 온라인 쇼핑몰에서 사용자가 주문을 한다. 1. 사용자는 주문하려는 상품의 재고를 확인한다. -> select 2. 주문된 상품의 재고를 갱신한다. -> update 3. 주문 정보를 주문 기록 테이블에 추가한다. -> insert 위 단계를 하나의 트랜잭션이라고 한다. 트랜잭션의 특징 (ACID) 원자성 (Atomicity) 트랜잭션 내의 모든 작업이 완전히 수행되거나 전혀 수..
Ukjong
'DB' 태그의 글 목록