everydayminder
PostgreSQL로 트랜잭션 격리 수준 동작 테스트를 하고, 결과를 정리해 놓는다. 트랜잭션 범위 PostgreSQL에서 트랜잭션은 BEGIN으로 시작하고, COMMIT 또는 ROLLBACK으로 끝난다. BEGIN; ... (트랜잭션) ... COMMIT; (또는 ROLLBACK;) 트랜잭션 격리 수준 확인/ 변경 PostgreSQL에서 트랜잭션 격리수준 확인 및 변경은 아래 포스트를 참고한다. PostgreSQL 트랜잭션 격리수준 확인/변경 본 포스트에서는 PostgreSQL 트랜잭션 격리수준을 확인하는 방법과 변경하는 방법에 대해 정리한다. 트랜잭션 격리수준 확인하기 SELECT current_setting('transaction_isolation'); 또는, show transaction isol..
PostgreSQL 트랜잭션 격리수준 확인/ 변경 본 포스트에서는 PostgreSQL 트랜잭션 격리수준을 확인하는 방법과 변경하는 방법에 대해 정리한다. 트랜잭션 격리수준 확인하기 SELECT current_setting('transaction_isolation'); 또는, show transaction isolation level; 이 명령어를 실행한 결과는 다음과 같이 노출된다. current_setting ----------------- read committed (1 row) 트랜잭션 격리수준 변경하기 트랜잭션 격리수준을 필요에 따라 아래와 같은 방법으로 변경할 수 있다. 설정으로 변경하기 postgresql.conf내 설정을 변경한다. #default_transaction_isolation = ..
MySQL로 트랜잭션 격리 수준 동작 테스트를 하고, 결과를 정리해 놓는다. 트랜잭션 범위 MySQL에서 트랜잭션은 START TRANSACTION으로 시작하고, COMMIT으로 다음과 같이 실행된다. START TRANSACTION ... (트랜잭션) ... COMMIT 트랜잭션 격리 수준 확인/ 변경 MySQL에서의 트랜잭션 격리수준 확인 및 변경은 아래 포스트를 참고한다. MySQL 트랜잭션 격리수준 확인/변경 본 포스트에서는 MySQL 트랜잭션 격리수준을 확인하는 방법과 변경하는 방법에 대해 정리한다. MySQL 버전에 따른 사용법 차이 예전에는 tx_isolation이 쓰였는데, MySQL 5.7.20에서 transaction_isolation이 ali. luran.me 본 포스트에서는, 구문형..
본 포스트에서는 MySQL 트랜잭션 격리수준을 확인하는 방법과 변경하는 방법에 대해 정리한다. MySQL 버전에 따른 사용법 차이 예전에는 tx_isolation이 쓰였는데, MySQL 5.7.20에서 transaction_isolation이 alias로 추가되었고, 8.0에 이르러서는 tx_isolation이 더 이상 사용되지 않기 때문에 변수를 사용하여 트랜잭션 격리수준을 확인하거나 설정할 때, 이를 참고하여 활용하면 된다. MySQL 5.7.2 이하: tx_isolation 사용가능 MySQL 8.0 이상: transaction_isolation 사용 트랜잭션 격리수준 확인하기 현재 트랜잭션 격리 수준이 어떻게 설정되어 있는지는 간단히 쿼리로 확인할 수 있다. SELECT @@GLOBAL.trans..
트랜잭션 DB에서의 트랜잭션이란, 보통 데이터베이스의 어떤 변경을 유발하는 작업 단위를 의미한다. 논리적으로 한 개의 실행 단위를 뜻하며, 물리적으로는 한 개 혹은 여러 개의 실행단위가 묶여 실행되기도 한다. 설명의 편의성을 위해, 종종 은행 계좌간 돈을 이체하는 사례가 주로 인용된다. 트랜잭션의 특징 - ACID DB에서의 트랜잭션은 아래 네 개의 특징을 지닌다. Atomicity Consitency Isolation Durability Atomicity(원자성) 트랜잭션은 논리적으로 하나의 실행단위여야 한다. 물리적으로 여러 개의 statement로 구성되어 있다 하더라도 논리적인 단위로 묶일 수 있어야 한다. 하나의 실행단위라면, 실행시 두 개의 상태로 귀결된다. 성공하거나 실패하거나 (all or..