Bagaimanakah Saya Boleh Mempercepatkan Pertanyaan Pengiraan Baris dalam MySQL untuk Keputusan Hampir Serta-merta?

DDD
Lepaskan: 2024-11-22 04:47:10
asal
283 orang telah melayarinya

How Can I Speed Up Row Counting Queries in MySQL for Near-Instantaneous Results?

Mempercepatkan Pengiraan Baris dalam MySQL: Meneroka Teknik untuk Peningkatan Prestasi

Mengira baris dalam jadual MySQL yang besar boleh menjadi tugas yang memakan masa , terutamanya apabila jadual mengandungi berjuta-juta baris. Walaupun terdapat indeks pada lajur yang berkaitan, pertanyaan untuk kiraan baris masih boleh mengambil masa beberapa saat untuk dilaksanakan.

Dalam senario ini, kami meneroka cabaran untuk mempercepatkan pertanyaan yang mengira baris mengikut status dalam jadual dengan lajur berikut:

  • id (kunci utama)
  • tajuk (buku tajuk)
  • status (keadaan semasa buku)

Selepas menguji prestasi pertanyaan sedemikian pada jadual dengan 2 juta baris, menggunakan kedua-dua enjin storan InnoDB dan MyISAM, kami mendapati bahawa:

  • MyISAM mempamerkan prestasi yang lebih pantas, dengan masa pelaksanaan pertanyaan antara 0.9 dan 1.1 saat.
  • InnoDB mengambil masa yang lebih lama dengan ketara, dengan masa pelaksanaan pertanyaan antara 3.0 dan 3.2 saat.

Walaupun MyISAM menawarkan sedikit kelebihan prestasi, ia tetap tidak mencukupi untuk senario yang memerlukan pengiraan baris untuk dikira dalam tempoh masa yang sangat singkat, seperti pada permintaan halaman web untuk a tapak trafik rendah.

Malangnya, tiada cara mudah untuk meningkatkan prestasi pertanyaan pengiraan baris langsung secara mendadak tanpa menggunakan teknik alternatif. Satu pilihan yang berdaya maju ialah mengekalkan jadual ringkasan yang menjejaki kiraan baris untuk setiap status. Jadual ringkasan ini boleh dikemas kini melalui pencetus, memastikan kiraan dilaraskan dengan sewajarnya apabila status buku berubah.

Penyelesaian ini memberikan respons pertanyaan segera tanpa mengira saiz jadual utama, disebabkan pengambilan terus maklumat daripada jadual ringkasan. Dengan menggunakan pencetus, penyelenggaraan jadual ringkasan diautomatikkan, menghapuskan keperluan untuk caching atau kemas kini eksplisit.

Walaupun overhed tambahan yang dikaitkan dengan pencetus, faedah pengiraan baris hampir serta-merta mengatasi potensi kesan prestasi. Dengan menggunakan pendekatan jadual ringkasan, kami boleh menangani kebimbangan prestasi yang berkaitan dengan pengiraan baris, menjadikannya sesuai untuk kes penggunaan masa nyata.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mempercepatkan Pertanyaan Pengiraan Baris dalam MySQL untuk Keputusan Hampir Serta-merta?. 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