sql >> Databáze >  >> RDS >> Mysql

Jak způsobit uváznutí na MySQL

K tomu existuje mnoho příspěvků pomocí dvou relací.

https://dba.stackexchange.com/questions/309/code -to-simulate-deadlock

http://www.xaprb.com/blog/2006/08/08/how-to-deliberately-cause-a-deadlock-in-mysql/

Metoda zkopírovaná z druhého článku výše

Nejprve vyberte nepoužitý název tabulky. Použiji test.innodb_deadlock_maker. Zde jsou příkazy, které musíte provést:

create table test.innodb_deadlock_maker(a int primary key) engine=innodb;
insert into test.innodb_deadlock_maker(a) values(0), (1);

Nyní je tabulka a její data nastavena. Dále proveďte následující na dvou různých připojeních:

-- připojení 0

set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 0;
update test.innodb_deadlock_maker set a = 0 where a <> 0;

-- připojení 1

set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 1;
update test.innodb_deadlock_maker set a = 1 where a <> 1;


  1. Časový rozdíl mezi záznamy

  2. Funkce MAX() nezávislá na databázi v SQLAlchemy

  3. Vyhledávání klíčových slov pomocí PHP MySql?

  4. jQuery UI – zrychlení automatického dokončování