Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Status thread Aurora MySQL
Berikut ini adalah beberapa status thread umum untuk Aurora MySQL.
- memeriksa izin
-
Thread memeriksa apakah server memiliki hak akses yang diperlukan untuk menjalankan pernyataan.
- memeriksa cache kueri untuk kueri
-
Server memeriksa apakah kueri saat ini ada di cache kueri.
- dibersihkan
-
Ini adalah status akhir dari koneksi yang pekerjaannya selesai, tetapi belum ditutup oleh klien. Solusi terbaik adalah secara eksplisit menutup koneksi dalam kode. Atau, Anda dapat menetapkan nilai yang lebih rendah untuk
wait_timeout
di grup parameter Anda. - menutup tabel
-
Thread melakukan flushing data tabel yang diubah ke disk dan menutup tabel yang digunakan. Jika operasi ini tidak cepat, periksa metrik konsumsi bandwidth jaringan berdasarkan bandwidth jaringan kelas instans. Selain itu, periksa apakah nilai untuk parameter
table_open_cache
dantable_definition_cache
memungkinkan tabel yang cukup dibuka secara bersamaan sehingga mesin tidak perlu sering membuka dan menutup tabel. Parameter ini memengaruhi konsumsi memori pada instans. - mengonversi HEAP ke MyISAM
-
Kueri mengonversi tabel sementara dari dalam memori ke di disk. Konversi ini diperlukan karena tabel sementara yang dibuat oleh MySQL dalam langkah-langkah perantara pemrosesan kueri bertambah terlalu banyak untuk memori. Periksa nilai
tmp_table_size
danmax_heap_table_size
. Di versi yang lebih baru, nama status thread ini adalahconverting HEAP to ondisk
. - mengonversi HEAP ke di disk
-
Thread mengonversi tabel sementara internal dari tabel dalam memori ke tabel di disk.
- salin ke tabel sementara
-
Thread sedang memproses pernyataan
ALTER TABLE
. Status ini terjadi setelah tabel dengan struktur baru telah dibuat, tetapi sebelum baris disalin ke dalamnya. Untuk thread dalam status ini, Anda dapat menggunakan Skema Performa untuk mendapatkan informasi tentang progres operasi penyalinan. - membuat indeks pengurutan
-
Aurora MySQL melakukan pengurutan karena tidak dapat menggunakan indeks yang ada untuk memenuhi klausa
ORDER BY
atauGROUP BY
pada kueri. Untuk informasi selengkapnya, lihat creating sort index. - membuat tabel
-
Thread membuat tabel permanen atau sementara.
- commit tertunda ok selesai
-
Commit asinkron di Aurora MySQL telah menerima konfirmasi dan selesai.
- commit tertunda ok diinisiasi
-
Thread Aurora MySQL telah memulai proses commit asinkron, tetapi sedang menunggu konfirmasi. Status ini biasanya menunjukkan waktu commit yang sebenarnya dari suatu transaksi.
- pengiriman tertunda ok selesai
-
Thread pekerja Aurora MySQL yang terikat ke koneksi dapat dibebaskan saat respons dikirim ke klien. Utas dapat memulai pekerjaan lain. Status
delayed send ok
berarti bahwa konfirmasi asinkron ke klien selesai. - pengiriman tertunda ok diinisiasi
-
Thread pekerja Aurora MySQL telah mengirim respons secara asinkron ke klien dan sekarang bebas melakukan pekerjaan untuk koneksi lain. Transaksi telah memulai proses commit asinkron yang belum dikonfirmasi.
- mengeksekusi
-
Thread telah mulai menjalankan pernyataan.
- membebaskan item
-
Thread telah menjalankan perintah. Beberapa pembebasan item yang dilakukan selama status ini memerlukan cache kueri. Status ini biasanya diikuti dengan pembersihan.
- inisialisasi
-
Status ini terjadi sebelum inisialisasi pernyataan
ALTER TABLE
,DELETE
,INSERT
,SELECT
, atauUPDATE
. Tindakan dalam status ini termasuk flushing log biner atau log InnoDB, dan beberapa pembersihan cache kueri. - master telah mengirim semua binlog ke slave
-
Simpul primer telah menyelesaikan bagiannya dalam replikasi. Thread sedang menunggu lebih banyak kueri untuk dijalankan sehingga dapat menulis ke log biner (binlog).
- membuka tabel
-
Thread mencoba membuka tabel. Operasi ini cepat kecuali jika pernyataan
ALTER TABLE
atauLOCK TABLE
perlu diselesaikan, atau melebihi nilaitable_open_cache
. - mengoptimalkan
-
Server melakukan optimisasi awal untuk kueri.
- mempersiapkan
-
Status ini terjadi selama optimisasi kueri.
- akhir kueri
-
Status ini terjadi setelah memproses kueri, tetapi sebelum status membebaskan item.
- menghapus duplikat
-
Aurora MySQL tidak dapat mengoptimalkan operasi
DISTINCT
pada tahap awal kueri. Aurora MySQL harus menghapus semua baris duplikat sebelum mengirim hasilnya ke klien. - mencari baris untuk pembaruan
-
Thread mencari semua baris yang cocok sebelum memperbaruinya. Tahap ini diperlukan jika
UPDATE
mengubah indeks yang digunakan mesin untuk menemukan baris. - mengirim peristiwa binlog ke slave
-
Thread membaca peristiwa dari log biner dan mengirimkannya ke replika.
- mengirim hasil yang di-cache ke klien
-
Server mengambil hasil kueri dari cache kueri dan mengirimkannya ke klien.
- mengirim data
-
Thread sedang membaca dan memproses baris untuk pernyataan
SELECT
, tetapi belum mulai mengirim data ke klien. Proses ini mengidentifikasi halaman mana yang berisi hasil yang diperlukan untuk memenuhi kueri. Untuk informasi selengkapnya, lihat sending data. - mengirim ke klien
-
Server menulis paket ke klien. Dalam versi MySQL sebelumnya, peristiwa tunggu ini diberi label
writing to net
. - memulai
-
Ini adalah tahap pertama di awal eksekusi pernyataan.
- statistik
-
Server menghitung statistik untuk mengembangkan rencana eksekusi kueri. Jika thread dalam status ini dalam waktu yang lama, server mungkin terikat pada disk sambil melakukan pekerjaan lain.
- menyimpan hasil dalam cache kueri
-
Server menyimpan hasil kueri dalam cache kueri.
- kunci sistem
-
Thread telah memanggil
mysql_lock_tables
, tetapi status thread belum diperbarui sejak panggilan ini. Status umum ini terjadi karena berbagai alasan. - perbarui
-
Thread sedang bersiap untuk mulai memperbarui tabel.
- memperbarui
-
Thread sedang mencari baris dan memperbaruinya.
- kunci pengguna
-
Thread mengeluarkan panggilan
GET_LOCK
. Thread meminta kunci advisory dan sedang menunggunya, atau berencana untuk memintanya. - menunggu pembaruan lainnya
-
Simpul primer telah menyelesaikan bagiannya dalam replikasi. Thread sedang menunggu lebih banyak kueri untuk dijalankan sehingga dapat menulis ke log biner (binlog).
- menunggu kunci metadata skema
-
Ini adalah peristiwa tunggu untuk kunci metadata.
- menunggu kunci metadata fungsi tersimpan
-
Ini adalah peristiwa tunggu untuk kunci metadata.
- menunggu kunci metadata prosedur tersimpan
-
Ini adalah peristiwa tunggu untuk kunci metadata.
- menunggu flushing tabel
-
Thread sedang menjalankan
FLUSH TABLES
dan sedang menunggu semua thread untuk menutup tabelnya. Atau, thread menerima notifikasi bahwa struktur dasar untuk tabel berubah, sehingga harus membuka kembali tabel untuk mendapatkan struktur baru. Untuk membuka kembali tabel, thread harus menunggu sampai semua thread lainnya menutup tabel. Notifikasi ini terjadi jika thread lain telah menggunakan salah satu pernyataan berikut di tabel:FLUSH TABLES
,ALTER TABLE
,RENAME TABLE
,REPAIR TABLE
,ANALYZE TABLE
, atauOPTIMIZE TABLE
. - menunggu kunci tingkat tabel
-
Satu sesi mempertahankan kunci di tabel sementara sesi lain mencoba mendapatkan kunci yang sama di tabel yang sama.
- menunggu kunci metadata tabel
-
Aurora MySQL menggunakan penguncian metadata untuk mengelola akses konkuren ke objek basis data dan untuk memastikan konsistensi data. Dalam peristiwa tunggu ini, satu sesi mempertahankan kunci metadata di tabel sementara sesi lain mencoba mendapatkan kunci yang sama di tabel yang sama. Saat Skema Performa diaktifkan, status thread ini dilaporkan sebagai peristiwa tunggu
synch/cond/sql/MDL_context::COND_wait_status
. - menulis ke net
-
Server sedang menulis paket ke jaringan. Dalam versi MySQL yang lebih baru, peristiwa tunggu ini diberi label
Sending to client
.