【发布时间】:2017-05-09 03:05:06
【问题描述】:
我是学生,你能帮帮我吗? ACID 和非 ACID SQL 有什么区别??谢谢你..!
【问题讨论】:
-
你试过谷歌搜索吗? en.wikipedia.org/wiki/ACID
我是学生,你能帮帮我吗? ACID 和非 ACID SQL 有什么区别??谢谢你..!
【问题讨论】:
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 中的任何新行,要么两者都看不到,这取决于事务是否已提交。永远不会出现他们只会看到第一行或第二行的情况。
【讨论】: