我是学生,你能帮助我吗? ACID和非ACID SQL有什么不同?谢谢..!
答案 0 :(得分:0)
ACID与您正在使用的数据库的特征更相关,更具体地说,该数据库是否完全支持事务而不是它支持SQL的程度。例如,在MySQL数据库中,无论你是否为表使用myisam或innodb引擎,用于访问数据的SQL都将大致相同,但是innodb支持myisam不支持的事务。
在没有太远的兔子洞的情况下,交易是指某些数据库将一系列SQL命令组合在一起并将其视为全有或全无或“原子”行为的能力。 (因此ACID中的“A”。)例如,在使用innodb引擎的MySQL中,以下一组语句代表一个事务:
start transaction;
insert into foo (data) values (1);
insert into foo (data) values (2);
commit;
因此,从访问其数据库的其他用户的角度来看,他们既不会看到foo中的新行,也不会看到两者,这取决于事务是否已提交。永远不会出现他们只会看到第一行或只看到第二行的情况。