czas trwania mysql i czas pobierania


87

Używam Środowiska pracy MySQL - Jaka jest różnica między czasem trwania a czasem pobierania po uruchomieniu zapytania?

Czy jest również sposób, w jaki mogę włączyć opcję mikrosekund w MySQL?


Dziwna nagroda. Wszystkie odpowiedzi są poprawne, ale po prostu im nie wierzysz? Tutaj i tutaj są dokładnie te same odpowiedzi od Mike'a Lischke, który pracuje dla Oracle, na forum mysql. Wystarczająco wiarygodne?
Hugo Delsing

Odpowiedzi:


162

Czas pobierania - mierzy, jak długo trwa przesyłanie pobranych wyników, co nie ma nic wspólnego z wykonaniem zapytania. Nie uważałbym tego za opcję debugowania / optymalizacji zapytań sql, ponieważ czas pobierania zależy od połączenia sieciowego, które samo w sobie nie ma nic wspólnego z optymalizacją zapytań. Jeśli czas pobierania jest wąskim gardłem, bardziej prawdopodobne jest, że wystąpił problem z siecią.

Uwaga: czas pobierania może się różnić w zależności od wykonania zapytania.

Czas trwania - to czas, w którym zapytanie musi zostać wykonane. Powinieneś spróbować zminimalizować go podczas optymalizacji wydajności zapytania sql.

Odniesienie


5
W celach optymalizacyjnych pamiętaj, że opcja query_cache_typemusi być OFF, aby pamięć podręczna nie miała wpływu na wynik. Zobacz stackoverflow.com/questions/181894/…
dellasavia

6
Chociaż zgadzam się, że czas trwania jest wartością, którą zwykle chcesz zoptymalizować, ponieważ ma bezpośredni związek z wydajnością zapytania, niezwykle długi czas pobierania może również wskazywać na ważne błędy logiczne i / lub nieefektywność. Na przykład możesz przenosić duże ilości tekstu przy każdym zapytaniu, które klient powinien buforować. Lub możesz zwrócić 100 tys.
Wierszy,

1
dobra uwaga @GrandOpener - lub możesz zrobić select (*), gdy wszystko, czego naprawdę potrzebujesz, to identyfikator wiersza.
andrew lorien

Włączyłem profiler w MySQL i uruchomiłem zapytanie. Następnie przeanalizowałem dane wyjściowe zarówno Workbencha, jak i profilera. Czas trwania zgłoszony przez Workbench wynosi 0,373, podczas gdy całkowity czas trwania z profilera ledwo osiąga 0,01. Czy to oznacza, że ​​czas trwania w Workbench NIE jest całkowitym czasem spędzonym przez MySQL na wykonanie zapytania?
Meglio

To nie wydaje się właściwe. Mam dwa zapytania, które zwracają te same wiersze (15300), ale ich statystyki są zawsze różne. jeden trwa 14 443 sek. Czas trwania / 1111,810 sek. Pobieranie i inne 443,986 sek. Czas trwania / 0,0089 sek. Pobieraj za każdym razem. dlaczego?
Shahid

16

Czas trwania pokazuje czas potrzebny do wykonania zapytania i pobrania to czas potrzebny na odczytanie zestawu wyników (pobranie danych)

Nie jestem pewien co do opcji mikrosekundowej. Jeśli chodzi o optymalizację, pamiętaj - „przedwczesna optymalizacja jest źródłem wszelkiego zła”


1

Jeśli chodzi o mikrosekundę, spróbuj włączyć ją w menu Preferencje, a także otrzymałem pytanie dotyczące czasu trwania i czasu pobierania wcześniej, teraz wydaje mi się, że otrzymuję odpowiedź, że czas trwania to czas wykonania zapytania, a pobieranie to pobranie wynik i wyślij je tam, gdzie chcesz. Na przykład otrzymuję zapytanie, którego czas trwania wynosi 0,078, ale przesłanie danych z powrotem do mojej witryny zajmie 60 sekund.


1

Czas wykonania to czas spędzony na przygotowaniu zapytania i uruchomieniu zapytania ORAZ Czas pobierania to czas spędzony na pobieraniu wyników wiersza

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.