Czytałem this post na blogu wydajności MySQL.Optymalizacja InnoDB - "używaj transakcji podczas robienia aktualizacji" - dlaczego?
Pod aplikacji strojenie mówi:
Najpierw upewnij się, że używasz transakcji podczas wykonywania aktualizacji
Jestem obecnie tylko z wykorzystaniem transakcji w miejscach, gdzie istnieje wiele wkładek lub aktualizacje w w tym samym czasie. to jest więcej niż jedna tabela.
Czy powinienem zatem zmienić co UPDATE
, aby zmienić go w transakcję?
Jaka jest różnica pomiędzy:
prepare sql
bind params
commit
oraz:
begin transaction
prepare sql
bind params
execute statement
commit transaction
w kategoriach tego, co dzieje się na poziomie bazy danych, który sprawia, że szybciej niż inne?
+1. Więcej analizy technicznej: istnieje bufor, który opóźnia zapisywanie w dzienniku (innodb_log_buffer_size), który należy przepłukiwać częściej, jeśli popełnisz błąd cały czas, co prowadzi do gorszej wydajności. Bufor jest również automatycznie płukany co 1 sekundę. –