MySQL “Veri gönderme” durumundayken ne anlama geliyor?


163

Mysql sorgusu ne anlama gelir:

SHOW PROCESSLIST;

Durum sütununda "Veri gönderiliyor" mu döndürür?

Sorgunun yürütüldüğünü ve MySQL'in istemciye "sonuç" Verileri gönderdiğini hayal ediyorum ama neden bu kadar zaman aldığını merak ediyorum (bir saate kadar).

Teşekkür ederim.


1
Bu, işleminden istemciye veri aktardığı anlamına gelir. Sending dataÇalıştırdıktan SHOW PROFILEsonra zaman alan bir adım olarak görüyorsanız , harcanan zaman aslında önceki adıma aittir.
NB

Maalesef bir mesaj alıyorum, 'PROFİLİ GÖSTER' özelliği devre dışı, MySQL'i 'enable-profiling' ile oluşturmam gerekiyor.Ancak yanıtınız için teşekkür ederim.
user1345414

Ve bu ek bir soru. Sorgu zaten dahili olarak bitti, ağ veya otobüs gibi iletim için bir kaynak meselesi mi?
user1345414

3
Hayır, dinlemiyorsunuz .. Sending datazaman ayırmanın bir MySQL profil hatası olduğu için gösterilen neden, orada gösterilen zamanın önceki adıma ait olması, olması gereken Executing queryveya benzeri bir şey olmasıdır. Sadece sorgunuzun yürütülmesi zaman alır. Sending datayüzlerce megabayt veri akışı sağlamadığınız sürece genellikle adım hızlıdır.
NB

3
Belki de bu soru "MySQL'de 'Veri gönderme' durumu ne anlama gelir" olarak yeniden adlandırılabilir. Soruyu bulmak daha kolay olacak.
antitoksik

Yanıtlar:


249

Bu oldukça yanıltıcı bir durum. Buna "veri okuma ve filtreleme" adı verilmelidir.

Bu MySQL, diskte (veya bellekte) henüz okunmamış ve gönderilmemiş bazı verilerin depolandığı anlamına gelir . Tablonun kendisi, bir dizin, geçici bir tablo, sıralı çıktı vb. Olabilir.

Yalnızca bir kayda ihtiyacınız olan 1M kayıt tablonuz (dizinsiz) varsa, MySQLhenüz bir şey göndermemiş olmasına rağmen tabloyu tararken durumu "veri gönderme" olarak gönderir.



4
Peki ya MySQL çok az disk G / Ç ile% 99 CPU kullanırken "veri gönderiyorsa"?
rustyx

@RustyX Veriler RAM'de arabellekte zaten mevcut ve 100k veya 1M'lik satırları sıralamaya ne dersiniz?
17'de sjas

23

Bu eyalette:

İş parçacığı bir SELECT deyimi için satırları okuyup işliyor ve istemciye veri gönderiyor.

Çünkü bu durum sırasında gerçekleşen işlemler büyük miktarlarda disk erişimi (okuma) yapma eğilimindedir .

Bu yüzden tamamlanması daha fazla zaman alır ve belirli bir sorgunun ömrü boyunca en uzun süren durum da budur .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.