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

myisam да постави заключване на таблицата на масата дори когато работи със заявка за 'select'?

MyISAM има различни видове ключалки. A SELECT операция поставя ЗАКЛЮЧВАНЕ НА ПРОЧЕТЕНЕ на масата. Може да има множество активни заключвания за четене във всеки даден момент, стига да няма активни ЗАКЛЮЧВАНИЯ НА ЗАПИСАНЕ . Операции, които променят таблицата, напр. INSERT , UPDATE , DELETE или ALTER TABLE поставете ЗАКЛЮЧВАНЕ НА ПИСАНЕ на масата. Заключването на запис може да бъде поставено върху таблица само когато няма активни заключвания за четене; Ако има активни заключвания за четене, MyISAM поставя на опашка заключването за запис, за да се активира веднага щом всички активни заключвания за четене изтекат.

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

В крайна сметка всичко това означава, че:

  • Можете да имате произволен брой активни заключвания за четене (наричани още споделени)
  • Можете да имате само едно активно заключване на запис (наричано още изключително заключване)

За повече информация вижте:http://dev.mysql. com/doc/refman/5.5/en/internal-locking.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на съобщение за грешка на SQL

  2. mysql условно вмъкване - ако не съществува, вмъкнете

  3. Разликата между 'AND' и '&&' в SQL

  4. Ляво присъединяване с условие

  5. Каква е разликата между utf8_general_ci и utf8_unicode_ci?