sql >> Databáze >  >> RDS >> Mysql

myisam umístit zámek stolu na stůl, i když se zabýváte dotazem „vybrat“?

MyISAM má různé druhy zámků. A SELECT operace umístí ZÁMEK ČTENÍ na stole. V daném okamžiku může být více aktivních zámků čtení, pokud nejsou aktivní žádné ZÁMKY ZÁPISU . Operace, které upravují tabulku, např. INSERT , UPDATE , DELETE nebo ALTER TABLE umístěte WRITE LOCK na stole. Zámek zápisu lze umístit na stůl pouze v případě, že nejsou aktivní žádné zámky pro čtení; Pokud existují aktivní zámky čtení, MyISAM zařadí zámek zápisu do fronty, aby se aktivoval, jakmile vyprší platnost všech aktivních zámků čtení.

Podobně, když je aktivní zámek zápisu, pokus o umístění zámku pro čtení na tabulku zařadí zámek (a související dotaz) do fronty, dokud v tabulce nevyprší platnost zámků zápisu.

Nakonec to vše znamená, že:

  • Můžete mít libovolný počet aktivních zámků pro čtení (nazývaných také sdílené zámky)
  • Můžete mít pouze jeden aktivní zámek zápisu (nazývaný také výhradní zámek)

Další informace najdete na:http://dev.mysql. com/doc/refman/5.5/en/internal-locking.html



  1. ERRO 1215. MySql InnoDB

  2. 11 způsobů, jak získat primární klíč v SQL Server (příklady T-SQL)

  3. změnit sloupec přetažení tabulky v databázi Oracle

  4. Připojení k Mysql DB pomocí C# – Potřebuji nějaké s datovými sadami