Apa artinya jika permintaan Mysql:
SHOW PROCESSLIST;
mengembalikan "Mengirim data" di kolom Negara?
Saya membayangkan itu berarti permintaan telah dieksekusi dan MySQL mengirimkan "hasil" Data ke klien tapi saya bertanya-tanya mengapa ini mengambil begitu banyak waktu (hingga satu jam).
Terima kasih.
Sending data
sebagai langkah yang membutuhkan waktu setelah Anda menjalankan,SHOW PROFILE
maka waktu yang dikonsumsi sebenarnya milik langkah sebelumnya.Sending data
menunjukkan memakan waktu adalah karena ini adalah bug profil MySQL, waktu yang ditunjukkan ada pada langkah sebelumnya, yang seharusnyaExecuting query
atau yang serupa. Itu artinya permintaan Anda membutuhkan waktu untuk dieksekusi.Sending data
langkah biasanya cepat, kecuali Anda mengalirkan ratusan megabyte data.Jawaban:
Ini adalah status yang cukup menyesatkan. Itu harus disebut "membaca dan memfilter data".
Ini berarti
MySQL
memiliki beberapa data yang disimpan di disk (atau dalam memori) yang belum dibaca dan dikirim. Mungkin tabel itu sendiri, indeks, tabel sementara, output yang diurutkan dll.Jika Anda memiliki tabel catatan 1M (tanpa indeks) di mana Anda hanya perlu satu catatan,
MySQL
masih akan menampilkan status sebagai "mengirim data" saat memindai tabel, meskipun faktanya belum mengirim apa pun.sumber
Dalam kondisi ini:
Itu sebabnya dibutuhkan lebih banyak waktu untuk menyelesaikan dan begitu juga keadaan terpanjang selama masa permintaan yang diberikan.
sumber