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.