DataBase/MySQL 2

MySQL - MySQL 엔진의 잠금. Lock

Lock은 Transaction과 비슷하게 보일수도 있지만 Lock은 동시성을 제어하기 위한 기능이고, Transaction은 데이터의 정합성을 보장하기 위한 기능이다. DB가 만들어진 목적은 여러사람이 데이터를 저장하기 위함이다. Lock이 없다면 여러사람이 하나의 데이터를 여러 Connection에서 접근해 동시에 데이터를 변경할 수 있다. MySQL 엔진의 잠금 MySQL에서 사용되는 잠금은 스토리지 엔진 레벨, MySQL 엔진 레벨이 있다. 스토리지 엔진 : 스토리지 엔진 간 상호 영향을 끼치지 않음 - InnoDB는 InnoDB만, MyISAM은 MyISAM만 MySQL 엔진 : 스토리지 엔진을 제외한 나머지 부분 모든 스토리지 엔진에 영향을 미침 - InnoDB, MyISAM 등 모든 엔진에 ..

DataBase/MySQL 2023.03.02

MySQL - Transaction의 간략한 설명 및 작업 단위 나누기

Transaction은 논리적인 작업이 모두 되거나, 혹은 아무것도 되지 않아야 한다는 것을 보장해 준다. MySQL에서의 트랜잭션 일단 MyISAM은 트랜잭션을 지원하지 않는 특징을 가지고 있고, InnoDB는 트랜잭션을 지원하는 스토리지 엔진이다. 두 엔진간의 차이를 직접 하기 위해서 테이블을 만들어 준다. CREATE TABLE tab_myisam (fdpk int not null, primary key (fdpk) ) ENGINE=MyISAM; CREATE TABLE tab_innodb (fdpk int not null, primary key (fdpk) ) ENGINE=INNODB; insert into tab_myisam values (3); insert into tab_innodb value..

DataBase/MySQL 2023.03.02