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

Menggunakan pemicu sebagai alternatif fungsi agregat SQL?

Secara teori, pemicu dapat membuat tabel ringkasan diperbarui secara akurat, selama:

  • Anda tidak menonaktifkan pemicu
  • Anda tidak memperbarui tabel ringkasan secara langsung
  • Anda tidak membuat perubahan pada data sumber melalui TRUNCATE TABLE (seperti yang Anda catat)

Juga:

  • Anda harus menyemai tabel ringkasan dengan nilai awal yang benar
  • Anda harus menggunakan InnoDB untuk tabel sumber dan tabel ringkasan, jadi pembaruan bersifat atomik

Mempertahankan tabel ringkasan adalah salah satu contoh denormalisasi . Seperti semua denormalisasi, ini berisiko anomali data. Anda bertanggung jawab untuk menjaga integritas data; database terbatas dalam seberapa banyak dapat membantu Anda melakukan itu.

Saya sarankan Anda perlu memeriksa ulang tabel ringkasan dari waktu ke waktu (misalnya per jam mungkin cukup) untuk memastikan itu tidak tidak sinkron, dan perbaiki jika sudah. Terserah Anda untuk melakukan ini, karena database tidak dapat memeriksanya untuk Anda.




  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 kueri simultan ditangani dalam database MySQL?

  2. MySQL:pilih kueri, kenaikan 5 menit

  3. Bagaimana cara menyimpan nilai persentase?

  4. Tidak dapat mendeklarasikan ulang fungsi yang dideklarasikan sebelumnya

  5. Eager-Loading berdasarkan permintaan pertama