I InnoDB, update
uttalanden låser varje rad de skannar. Detta innebär att för att uppdatera dina 200 rader måste den skapa 350 000 radnivålås, samtidigt som ett återställningslås behålls och tillhandahålla det tidigare värdet till alla transaktioner som läser det redan ändrade värdet (eftersom transaktionen inte är begått och ändringen är inte slutgiltig)
MyISAM å andra sidan låser hela bordet.
Så om du behöver uppdatera alla rader, lås hela tabellen, så får du en mycket bättre prestanda (du behöver inte låsen på radnivå)
Men ännu bättre, ange en WHERE-klausul, som du gjorde, så kommer InnoDB endast att förvärva lås för de matchande raderna (liksom några gap-lås i indexträdet, men detta faller inte i fråga)