2017-05-09 3 views

答えて

0

ACIDは、使用しているデータベースの特性、より具体的には、そのデータベースがSQLをどれくらいうまくサポートしているかを問わず、トランザクションを完全にサポートしているかどうかに関係します。たとえば、MySQLデータベースでは、テーブルにmyisamエンジンやinnodbエンジンを使用するかどうかにかかわらず、データにアクセスするために使用されるSQLはほぼ同じですが、innodbはトランザクションをサポートしていますが、myisamはそうではありません。

そして、ウサギの穴をあまりにも遠くに追いかけることなく、トランザクションは、特定のデータベースが一連のSQLコマンドをまとめてグループ化し、それらをすべてまたは何も「原子的」なものとして扱う能力を指します。 (ACIDでしたがって、「A」)。例えば、MySQLでInnoDBエンジンに文の次のグループを使用して、トランザクションを表します

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

だから彼らに、彼らはどちらも見ないだろういずれかのデータベースにアクセスして、他のユーザーの視点からトランザクションがまだコミットされていないかどうかに応じて、fooまたはその両方の新しい行が削除されます。最初の行だけを表示したり、2番目の行のみを表示する状況はありません。

関連する問題