![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
W tabeli mam ponad 6 mln rekordów, założony indeks na kolumnę 'created_at_timestamp' i wykonuję zapytanie po rekordy:
To zapytanie wykonuje się naprawdę baaardzo długo: https://prnt.sc/g6g3ac Sprawdziłem profilerem w PMA i pokazuje, że najdłużej działa Sending Data: https://prnt.sc/g6ggo2 Co może być tego przyczyną? Miał ktoś podobny problem? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Z manuala:
Cytat Sending data The thread is reading and processing rows for a SELECT statement, and sending data to the client. Because operations occurring during this state tend to perform large amounts of disk access (reads), it is often the longest-running state over the lifetime of a given query. Czyli mimo że z nazwy ten wątek wygląda na czyste przesyłanie danych, to z opisu wynika, że w grę wchodzi też czytanie i przetwarzanie całego setu. Na localu sam czas przesłania miałby marginalną wartość, co możnaby sprawdzić na przykład w MySQL Workbenchu czytając wartość "Fetch". A daj jeszcze przed całym zapytaniem EXPLAIN i pokaż wynik. Może da się jakoś zoptymalizować całe zapytanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 07:03 |