Mysql
 sql >> Baza danych >  >> RDS >> Mysql

brak poziomów izolacji i blokowania db

InnoDB ustawia określone typy blokad w następujący sposób.

  • SELECT ... FROM to spójny odczyt, odczytujący migawkę bazy danych i nie ustawiający żadnych blokad, chyba że poziom izolacji transakcji jest ustawiony na SERIALIZABLE. Dla poziomu SERIALIZABLE wyszukiwanie ustawia współdzielone blokady następnego klawisza na napotkanych rekordach indeksu.

  • WYBIERZ ... Z ... ZABLOKUJ W TRYBIE UDOSTĘPNIANIA ustawia wspólne blokady następnego klawisza we wszystkich rekordach indeksu napotkanych podczas wyszukiwania.

  • W przypadku napotkanych rekordów indeksu SELECT ... FROM ... FOR UPDATE blokuje innym sesje wykonywanie SELECT ... FROM ... LOCK IN SHARE MODE lub odczytywanie na pewnych poziomach izolacji transakcji. Spójne odczyty zignorują wszelkie blokady ustawione na rekordach istniejących w widoku odczytu.

  • UPDATE ... WHERE ... ustawia ekskluzywną blokadę następnego klawisza na każdym rekordzie napotkanym podczas wyszukiwania.

  • USUŃ Z ... GDZIE ... ustawia ekskluzywną blokadę następnego klawisza na każdym rekordzie napotkanym podczas wyszukiwania.

  • INSERT ustawia wyłączną blokadę na wstawionym wierszu. Ta blokada jest blokadą rekordu indeksu, a nie blokadą następnego klucza (to znaczy nie ma blokady przerwy) i nie zapobiega wstawianiu innych sesji do przerwy przed wstawionym wierszem.

InnoDB ma kilka rodzajów blokad na poziomie rekordów:

  • Blokada rekordu:To jest blokada rekordu indeksu.

  • Blokada luki:jest to blokada luki między rekordami indeksu lub blokada luki przed pierwszym lub po ostatnim rekordzie indeksu.

  • Blokada następnego klawisza:jest to kombinacja blokady rekordu w rekordzie indeksu i blokady przerwy na przerwie przed rekordem indeksu.

Zobacz więcej :

Unikanie problemu z fantomem za pomocą blokowania następnego klawisza

Unikanie zakleszczenia



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP i PDO:jedno połączenie kontra więcej niż jedno połączenie

  2. Jak obciąć tabelę z ograniczeniami klucza obcego?

  3. ISO-8859-1 Znak obcina tekst wstawiając do kolumny mysql utf-8

  4. Jak napisać zapytanie MYSQL, które zwróci dzieci zagnieżdżone pod rodzicami?

  5. konsekwencje zmiany silnika pamięci masowej mysql podczas pracy aplikacji w środowisku produkcyjnym