Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо commit не води до безизходица

Подозирам, че това е краен случай, който не си струва да се прави по-ефективен. Имайте предвид, че трябваше да получите 3 сесии, опитвайки се да вземете един и същи ред - рядко се случва. И вие направихте ОБРАЩАНЕ - също рядко. Така че възникналата задънена улица е прекомерна, но не си струва да се коригира. Поради тази причина човек трябва да бъде подготвен да се справя със задръстванията навсякъде.

FYI, ако това бяха 3 възела от клъстер на Galera, щеше да има грешки при COMMIT с които кодът ще трябва да се справи. Подозирам, че има още повече комбинации от странни неща, ако приложите тази транзакция (с връщане назад или ангажимент) няколко пъти към множество възли.

Сега към въпроса ви... Вероятно блокирането не се е случило, защото една от нишките е получила изключителната ключалка, а другата е била ударена с „wait“ вместо „deadlock“.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO MySQL драйвер на Mac

  2. Как да коригирате Съобщение:SQLSTATE[08004] [1040] Твърде много връзки

  3. Съществуват ли практики/насоки за създаване на ненормализирани таблици по време на процеса на нормализиране?

  4. MySQL:Групиран първичен ключ с InnoDB

  5. PHP/SQL база данни за запитване за добри практики и сигурност