+-----------+ +-----------+ | Session A | <-------------> | Session B | +-----------+ +-----------+ Å×À̺í»ý¼º µ¥ÀÌÅÍÀÔ·Â(noTransation) µ¥ÀÌÅÍÈ®ÀÎ µ¥ÀÌÅÍÈ®ÀÎ
µ¥ÀÌÅÍÀÔ·Â(withTransaction) µ¥ÀÌÅÍÈ®ÀÎ µ¥ÀÌÅÍÈ®ÀÎ commit µ¥ÀÌÅÍÈ®ÀÎ µ¥ÀÌÅÍÈ®ÀÎ
µ¥ÀÌÅÍÀÔ·Â(withTransaction) µ¥ÀÌÅÍÈ®ÀÎ µ¥ÀÌÅÍÈ®ÀÎ rollback µ¥ÀÌÅÍÈ®ÀÎ µ¥ÀÌÅÍÈ®ÀÎ
1. Session A : InnoDB Å×ÀÌºí »ý¼º
mysql> create table test_table ( -> col_a int not null primary key, -> col_b varchar(64) not null -> ) engine=InnoDB; Query OK, 0 rows affected (0.09 sec)
2. Session A : µ¥ÀÌÅÍ ÀÔ·Â (noTransation)
mysql> insert into test_table (col_a, col_b) values (1, 'a'); Query OK, 1 row affected (0.09 sec)
mysql> insert into test_table (col_a, col_b) values (2, 'b'); Query OK, 1 row affected (0.03 sec)
2-1. Session A : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | +-------+-------+ 2 rows in set (0.00 sec)
2-2. Session B : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | +-------+-------+ 2 rows in set (0.00 sec)
3. Session A : µ¥ÀÌÅÍ ÀÔ·Â (withTransaction)
mysql> begin; Query OK, 0 rows affected (0.00 sec)
mysql> insert into test_table (col_a, col_b) values (3, 'c'); Query OK, 1 row affected (0.00 sec)
mysql> insert into test_table (col_a, col_b) values (4, 'd'); Query OK, 1 row affected (0.00 sec)
3-1. Session A : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +-------+-------+ 4 rows in set (0.02 sec)
3-2. Session B : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | +-------+-------+ 2 rows in set (0.00 sec)
4. Session A : Commit
mysql> commit; Query OK, 0 rows affected (0.09 sec)
4-1. Session A : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +-------+-------+ 4 rows in set (0.02 sec)
4-2. Session B : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +-------+-------+ 4 rows in set (0.02 sec)
5. Session A : µ¥ÀÌÅÍ ÀÔ·Â (withTransaction)
mysql> begin; Query OK, 0 rows affected (0.00 sec)
mysql> insert into test_table (col_a, col_b) values (5, 'e'); Query OK, 1 row affected (0.00 sec)
5-1. Session A : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | | 5 | e | +-------+-------+ 5 rows in set (0.00 sec)
5-2. Session B : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +-------+-------+ 4 rows in set (0.02 sec)
6. Session A : Rollback
mysql> rollback; Query OK, 0 rows affected (0.05 sec)
6-1. Session A : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +-------+-------+ 4 rows in set (0.02 sec)
6-2. Session B : µ¥ÀÌÅÍ È®ÀÎ
mysql> select * from test_table; +-------+-------+ | col_a | col_b | +-------+-------+ | 1 | a | | 2 | b | | 3 | c | | 4 | d | +-------+-------+ 4 rows in set (0.02 sec)
Æ®·£Àè¼ÇÀº InnoDB ¹Û¿¡ ¾ÈµÈ´Ù. Å×ÀÌºí »ý¼º½Ã engine=InnoDB; ¿É¼ÇÀ» Áְųª, alter table ·Î engine À» InnoDB ·Î ¹Ù²ã¾ß¸¸ Æ®·£Àè¼ÇÀÌ µ¿ÀÛÇÑ´Ù.
¾Æ Á¹ ±ÍÂ÷³ª...
EOF : Zany (2009-05-15)
|
|
|