Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara mengoptimalkan kinerja COUNT(*) di InnoDB dengan menggunakan indeks

Mulai MySQL 5.1.6 Anda dapat menggunakan Penjadwal Acara dan masukkan hitungan ke tabel statistik secara teratur.

Pertama buat tabel untuk menampung hitungan:

CREATE TABLE stats (
`key` varchar(50) NOT NULL PRIMARY KEY,
`value` varchar(100) NOT NULL);

Kemudian buat acara untuk memperbarui tabel:

CREATE EVENT update_stats
ON SCHEDULE
  EVERY 5 MINUTE
DO
  INSERT INTO stats (`key`, `value`)
  VALUES ('data_count', (select count(id) from data))
  ON DUPLICATE KEY UPDATE value=VALUES(value);

Ini tidak sempurna tetapi menawarkan solusi mandiri (tanpa cronjob atau antrian) yang dapat dengan mudah disesuaikan untuk dijalankan sesering yang diperlukan kesegaran hitungan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Operator RLIKE Bekerja di MySQL

  2. Mencegah serangan injeksi SQL dalam program Java

  3. Cara Melindungi Database MySQL dari Kampanye Ransomware

  4. Dapatkan id dari baris yang dimasukkan menggunakan C #

  5. Panduan Merancang Basis Data Untuk Acara Kalender Dan Pengingat Di MySQL