Memahami Keadaan "Menghantar data" dalam MySQL
Apabila melaksanakan SHOW PROCESSLIST; pertanyaan dalam MySQL, anda mungkin menghadapi status "Menghantar data" dalam lajur Negeri. Status ini menunjukkan bahawa MySQL telah mula menghantar data kepada pelanggan. Walau bagaimanapun, proses ini kadangkala boleh mengambil masa yang besar, seperti sehingga satu jam.
Bertentangan dengan andaian popular, "Menghantar data" tidak membayangkan bahawa pertanyaan telah diproses sepenuhnya. Sebaliknya, ia menandakan bahawa MySQL masih mengambil data daripada cakera atau memori untuk memenuhi keperluan pertanyaan. Data ini mungkin berkaitan dengan jadual, indeks, jadual sementara atau malah hasil yang diisih.
Sebagai contoh, jika anda mempunyai jadual 1 juta rekod (tanpa indeks) dan anda hanya memerlukan satu rekod, MySQL masih akan memaparkan status "Menghantar data" semasa mengimbas keseluruhan jadual. Ini kerana MySQL masih belum menghantar sebarang data walaupun sedang mencari rekod yang diminta secara aktif.
Perubahan dalam MySQL 8.0.17 dan Kemudian
Bermula dengan MySQL 8.0.17 , keadaan "Menghantar data" tidak lagi dilaporkan secara berasingan. Sebaliknya, ia dimasukkan ke dalam keadaan "Melaksanakan". Perubahan ini memudahkan maklumat status dan lebih menggambarkan aktiviti pemprosesan yang sedang dijalankan.
Atas ialah kandungan terperinci Apakah Maksud 'Menghantar Data' dalam MySQL Sebenarnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!