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

MySQL:Едновременни актуализации (чрез нишки) на проста таблица

Заключването е имплицитно, да, но не се извършва от executeUpdate() . Двигателят за съхранение в MySQL управлява заключването и отключването.

Всеки път, когато пишете в MyISAM таблица, вашата заявка изчаква заключването на запис в таблицата, за да бъде налично, заключването на запис се придобива, записът е завършен и заключването на запис се освобождава. Няма истинско едновременно записване в MyISAM, защото всеки работник всъщност чака на опашка за заключването на запис. Не получавате грешка, защото заявките за запис са сериализирани.

Ситуацията с InnoDB е подобна, но много различна, тъй като InnoDB заключва само част от таблицата, обикновено на ниво ред, където InnoDB може да заключи диапазон в рамките на индекс, като по този начин заключва редовете в този диапазон в индекса (и празнина, която ги предхожда). Това заключване е по-подробно от заключването на таблицата, което позволява подобрено поведение на паралелност, но няма едновременна операция на един и същи ред – всеки работник чака заключването или заключванията, от които се нуждае.

И в двата случая ключалките се вземат имплицитно.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL завърта ред в динамичен брой колони

  2. Изчислете възрастта въз основа на датата на раждане

  3. Проектиране на връзки около структура на наследяване

  4. Как да изтрия редове от таблица за присъединяване (ManyToMany) в Doctrine?

  5. Как да конвертирам база данни на Oracle в MySQL?