Mempercepatkan Pengiraan Baris dalam MySQL
Walaupun mengindeks lajur "status", mengira baris dalam jadual MySQL yang besar tetap memakan masa, mendorong soalan: adakah terdapat teknik untuk mempercepatkan pertanyaan sedemikian? Walaupun teknik seperti caching hasil atau mengekalkan jadual ringkasan berasingan wujud, bolehkah kiraan ini dioptimumkan secara langsung?
Menggunakan jadual sampel dengan 2 juta baris, penanda aras mendedahkan bahawa MyISAM berprestasi lebih pantas (0.9-1.1 saat) daripada InnoDB (3.0 -3.2 saat) untuk pertanyaan GROUP BY. Walau bagaimanapun, kedua-dua pendekatan tidak mencapai prestasi subsaat.
Walaupun keputusan ini, meneroka kaedah alternatif untuk mempercepatkan pertanyaan langsung, seperti enjin storan berasaskan lajur, mungkin mempunyai pertukaran untuk jenis pertanyaan lain. Oleh itu, mengekalkan jadual ringkasan melalui pencetus muncul sebagai penyelesaian yang disyorkan untuk memastikan pengambilan kiraan serta-merta walaupun saiz jadual.
Untuk melaksanakan pendekatan ini, gunakan kod boilerplate yang disediakan untuk mencipta pencetus bagi sisipan buku, pemadaman dan kemas kini. Pencetus ini mengekalkan kiraan buku dalam setiap status dalam jadual ringkasan, memastikan pengambilan kiraan yang cekap untuk sebarang status, menghapuskan keperluan untuk imbasan baris demi baris yang mahal.
Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mempercepatkan Kiraan Baris dalam Jadual MySQL Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!