Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengenalpasti Jadual Dikunci oleh LOCK TABLE dalam MySQL?
Menyoal Jadual Berkunci dalam MySQL
Walaupun MySQL menyediakan pelbagai mekanisme untuk mengunci jadual, mengesan jadual yang dikunci secara khusus oleh arahan LOCK TABLE boleh menjadi tugas penting untuk menyelesaikan kesesakan prestasi. Artikel ini menyelidiki kaedah yang boleh dipercayai untuk mengenal pasti jadual terkunci.
Mengambil semula Maklumat Jadual Berkunci
Tidak seperti kunci bernama yang diperoleh dengan GET_LOCK, jadual yang dikunci menggunakan LOCK TABLE tidak mempunyai mekanisme mudah untuk menyoal. Walau bagaimanapun, memanfaatkan pernyataan SHOW OPEN TABLES menyediakan penyelesaian yang komprehensif untuk mengekstrak maklumat ini.
Menggunakan SHOW OPEN TABLES
Penyata SHOW OPEN TABLES mengembalikan maklumat terperinci tentang semua yang dibuka jadual dalam sambungan pangkalan data semasa. Ini termasuk jadual yang sedang dibaca atau ditulis secara aktif, serta jadual yang dikunci oleh LOCK TABLE. Dengan menggunakan operator LIKE pada lajur Jadual dan Pangkalan Data, anda boleh menapis keputusan untuk jadual dan pangkalan data tertentu. Selain itu, lajur In_use menunjukkan bilangan sambungan serentak yang sedang menggunakan jadual.
Contoh Pertanyaan
Untuk mengenal pasti jadual terkunci dalam pangkalan data tertentu, laksanakan pertanyaan berikut:
<code class="sql">SHOW OPEN TABLES WHERE `Table` LIKE '%[TABLE_NAME]%' AND `Database` LIKE '[DBNAME]' AND In_use > 0;</code>
Ganti [TABLE_NAME] dengan nama jadual yang anda ingin semak dan [DBNAME] dengan pangkalan data di mana ia berada. Pertanyaan ini akan mengembalikan satu baris untuk setiap jadual berkunci yang sepadan dengan kriteria.
Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Jadual Dikunci oleh LOCK TABLE dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!