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

MySQL INSERT i SELECT Kolejność pierwszeństwa

Zależy, czy Twoi users tabela to MyISAM lub InnoDB.

Jeśli to MyISAM, jedna lub druga instrukcja blokuje tabelę i niewiele można zrobić, aby to kontrolować, z wyjątkiem tabele blokowania siebie.

Jeśli jest to InnoDB, opiera się na transakcjach. Architektura wielu wersji umożliwia równoczesny dostęp do tabeli, a SELECT zobaczy liczbę wierszy w chwili rozpoczęcia transakcji. Jeśli istnieje INSERT dzieje się jednocześnie, SELECT zobaczy 0 wierszy. W rzeczywistości możesz nawet zobaczyć 0 wierszy przy SELECT wykonane kilka sekund później, jeśli transakcja dla INSERT jeszcze nie popełnił zobowiązania.

Nie ma możliwości, aby te dwie transakcje rozpoczęły się naprawdę jednocześnie. Transakcje gwarantują pewną kolejność.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybór odrębnej kombinacji 2 kolumn w mysql

  2. Kiedy używać WYBIERZ... DO AKTUALIZACJI?

  3. połącz się z mysql za pomocą c#.net

  4. niezainicjowana stała Mysql2::Client::SECURE_CONNECTION

  5. MySql ERROR 1045 (28000):Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:NIE)