Wpis z mikrobloga

#webdev #programowanie #mysql

Co może być przyczyną bardzo długiego wykonywania się zapytania UPDATE w bazie MySQL?
Prosta tabela: id, tresc, wartosc z indeksem unique na id.
Zapytanie UPDATE tabela SET wartosc=123 WHERE id=123543
Prościej się chyba nie da. Cała tabela ma ok. 1 mln rekordów, odwołania są zawsze po id które jest unikalne. Całość wykonuje się kilka minut.
Dlaczego? Przecież milion rekordów przy tak małej złożoności tabeli i zapytania to żaden problem.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@krupek:
Jaki engine bazy używasz MyISAM/InnoDB? Czy serwer jest obciążony innymi połączeniami? Może w tle uruchamiane są inne zapytania z LOCK TABLE? Czy konfiguracja bazy jest odpowiednia w stosunku do jej rozmiaru (chodzi o cache, open_tables, etc)? Sprawdzić to możesz najprościej tym skryptem: http://mysqltuner.com/
  • Odpowiedz