Rumah > pangkalan data > tutorial mysql > Mengapakah phpMyAdmin Menunjukkan Kiraan Baris Tidak Konsisten untuk Jadual InnoDB?

Mengapakah phpMyAdmin Menunjukkan Kiraan Baris Tidak Konsisten untuk Jadual InnoDB?

DDD
Lepaskan: 2024-12-03 09:19:12
asal
302 orang telah melayarinya

Why Does phpMyAdmin Show Inconsistent Row Counts for InnoDB Tables?

Tidak Boleh Mempercayai Kiraan Baris dalam phpMyAdmin?

Dalam phpMyAdmin, anda mungkin menghadapi percanggahan yang ketara dalam anggaran kiraan baris untuk jadual yang mempunyai kekal tidak berubah. Ketidakkonsistenan yang membingungkan ini boleh dikaitkan dengan pengendalian pengiraan baris oleh enjin pangkalan data asas.

Tidak seperti jadual MyISAM, yang mengekalkan kiraan baris yang tepat, jadual InnoDB seperti dalam contoh anda tidak mempunyai ciri ini. Untuk menentukan kiraan baris yang tepat, InnoDB mesti mengimbas dengan teliti setiap baris dalam jadual, menjadikan pertanyaan SELECT COUNT(*) mahal untuk jadual besar.

phpMyAdmin menggunakan pertanyaan SHOW TABLE STATUS untuk mendapatkan semula anggaran baris kira daripada InnoDB. Anggaran ini, bagaimanapun, berbeza-beza setiap kali anda melaksanakannya, yang berpotensi mengakibatkan sisihan yang besar daripada kiraan sebenar.

Manual MySQL mengakui pengehadan ini: "Untuk enjin storan seperti InnoDB, nilai ini [dari SHOW TABLE STATUS ] ialah anggaran, dan mungkin berbeza daripada nilai sebenar sebanyak 40 hingga 50%."

Untuk kiraan baris yang tepat, manual mengesyorkan menggunakan SELECT COUNT(*). Selain itu, dokumentasi InnoDB menerangkan bahawa urus niaga serentak boleh menyebabkan kiraan baris yang berbeza "dilihat" serentak, menjadikan pengiraan baris dalaman tidak praktikal.

Oleh itu, walaupun SHOW TABLE STATUS mungkin memberikan anggaran, ia tidak dapat memberikan yang mutlak. ketepatan. Untuk pengiraan baris yang tepat dan konsisten, pertimbangkan untuk melaksanakan jadual kaunter yang diselenggara oleh aplikasi anda atau menggunakan cache pertanyaan MySQL untuk mengoptimumkan prestasi.

Atas ialah kandungan terperinci Mengapakah phpMyAdmin Menunjukkan Kiraan Baris Tidak Konsisten untuk Jadual InnoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan