Semua orang tahu bahwa, dalam tabel yang menggunakan InnoDB sebagai mesin, kueri seperti SELECT COUNT(*) FROM mytable
sangat tidak eksak dan sangat lambat, terutama ketika tabel semakin besar dan ada penyisipan / penghapusan baris konstan saat query dijalankan.
Seperti yang saya pahami, InnoDB tidak menyimpan jumlah baris dalam variabel internal, yang merupakan alasan untuk masalah ini.
Pertanyaan saya adalah: Mengapa demikian? Akankah sangat sulit untuk menyimpan informasi seperti itu? Ini informasi penting untuk diketahui dalam banyak situasi. Satu-satunya kesulitan yang saya lihat apakah penghitungan internal seperti itu akan dilaksanakan adalah ketika transaksi terlibat: jika transaksi tidak dikomit, apakah Anda menghitung baris yang dimasukkan atau tidak?
PS: Saya bukan ahli tentang DB, saya hanya seseorang yang memiliki MySQL sebagai hobi sederhana. Jadi jika saya hanya menanyakan sesuatu yang bodoh, jangan terlalu kritis: D.
SELECT COUNT(*) FROM ...
sangat tepat. Jika Anda mau, phpMyAdmin dapat dikonfigurasi untuk selalu menggunakan jumlah baris yang tepat dengan mengorbankan kecepatan. Info lebih lanjut: stackoverflow.com/questions/11926259/…