2017-05-09 1 views

답변

0

ACID는 사용중인 데이터베이스의 특성과 더 관련이 있으며 더 구체적으로 해당 데이터베이스가 SQL을 얼마나 잘 지원하는지보다 트랜잭션을 완벽하게 지원하는지 여부와 관련이 있습니다. 예를 들어, MySQL 데이터베이스에서 테이블에 myisam 또는 innodb 엔진을 사용하는지 여부에 관계없이 데이터에 액세스하는 데 사용되는 SQL은 거의 동일하지만 innodb는 트랜잭션을 지원하지만 myisam은 지원하지 않습니다.

토끼 구멍을 지나치게 멀리 가지 않는 트랜잭션은 특정 데이터베이스가 일련의 SQL 명령을 함께 그룹화하고 이들을 모두 또는 아무것도 또는 "원자"행동으로 간주하는 기능을 나타냅니다. (. ACID에 따라서 "A")는 예를 들어, MySQL은 이노 디비 엔진을 사용하여 문장의 다음 그룹은 트랜잭션 대표 : 그들은 하나 볼 것입니다 그들에게 데이터베이스에 액세스하는 다른 사용자의 관점에서 그래서

start transaction; 
insert into foo (data) values (1); 
insert into foo (data) values (2); 
commit; 

을하지도 않습니다 트랜잭션이 아직 커밋되었는지 여부에 따라 foo 또는 두 가지 모두의 새 행이 표시됩니다. 첫 번째 줄만 보거나 두 번째 줄만 볼 수있는 상황은 결코 없을 것입니다.

관련 문제