Które polecenie MySQL aktualizuje statystyki tabeli wykorzystywane przez optymalizator zapytań?
Dobrze.
ANALYZE TABLE przelicza statystyki rozkładu danych dla optymalizatora.Źle.
REPAIR TABLE naprawia uszkodzenia, nie odświeża statystyk.Źle. Tworzenie kopii nie aktualizuje statystyk optymalizatora.
Źle.
RESTORE dotyczy odtwarzania z kopii, nie statystyk.Optymalizator zapytań MySQL wybiera plan wykonania na podstawie statystyk o rozkładzie danych w tabeli. Polecenie
ANALYZE TABLE przelicza te statystyki, dzięki czemu po dużych zmianach danych zapytania mogą działać szybciej. Nie zmienia ani danych, ani struktury. Dlatego do aktualizacji statystyk służy ANALYZE TABLE.Pozostałe polecenia robią co innego.
REPAIR TABLE próbuje naprawić fizycznie uszkodzoną tabelę - to operacja ratunkowa, nie strojenie wydajności. Polecenia w stylu RESTORE TABLE czy BACKUP TABLE kojarzą się z kopiami zapasowymi i odtwarzaniem danych, a nie ze statystykami optymalizatora (kopie w MySQL robi się raczej narzędziami typu mysqldump). Przeliczenie statystyk rozkładu danych dla planera zapytań wykonuje ANALYZE TABLE, dlatego to ono jest poprawne.