V InnoDB update
příkazy uzamknou každý řádek, který naskenují. To znamená, že k aktualizaci vašich 200 řádků je třeba vytvořit 350 000 zámků na úrovni řádků, přičemž zároveň musí zachovat zámek vrácení zpět a poskytnout předchozí hodnotu všem transakcím, které čtou již změněnou hodnotu (protože transakce není potvrzeno a změna není konečná)
MyISAM na druhé straně uzamkne celý stůl.
Pokud tedy potřebujete aktualizovat všechny řádky, uzamkněte celou tabulku a získáte mnohem lepší výkon (nebudete potřebovat zámky na úrovni řádků)
Ale ještě lépe, poskytněte klauzuli WHERE, jako jste to udělali vy, a InnoDB získá zámky pouze pro odpovídající řádky (stejně jako některé zámky mezer v indexovém stromu, ale to je mimo rozsah této otázky)