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

Bagaimana cara menyimpan, menangani jumlah total pesanan dalam suatu pesanan, skema detail pesanan?

Ya, menyimpan nilai yang telah dihitung sebelumnya, berdasarkan data lain dalam database, dalam database adalah hal yang normal. Tapi belum tentu karena alasan yang Anda sebutkan. Saya tidak pernah punya masalah dengan MAX_JOIN_SIZE .

Alasan utama, dan mungkin satu-satunya, untuk menyimpan nilai yang dihitung adalah kecepatan. Jadi Anda melakukannya untuk nilai yang tidak sering berubah dan yang mungkin digunakan dalam kueri yang menggunakan banyak data dan karena itu mungkin terlalu lambat jika Anda tidak menggunakannya.

Misalnya:Jika Anda ingin mengetahui nilai rata-rata semua pesanan di database Anda, kueri akan jauh lebih cepat jika Anda sudah memiliki total pesanan.

Mengapa, dan bagaimana, Anda memperbarui nilai sepenuhnya terserah Anda. Namun Anda harus konsisten tentang hal itu . Jika Anda menggunakan pola MVC, masuk akal untuk mengintegrasikannya ke dalam pengontrol. Atau dalam istilah sederhana:Setiap kali formulir dikirimkan yang dapat mengubah salah satu nilai, dari mana nilai yang dihitung sebelumnya dihitung, Anda perlu menghitungnya ulang.

Ini adalah demonstrasi yang jelas di mana 'normalisasi' tidak sepenuhnya dipertahankan. Itu tidak terlalu cantik, tapi terkadang sepadan. Anda dapat, tentu saja, berargumen, bahwa nilai yang dihitung mewakili informasi 'baru', dan karena itu tidak bertentangan dengan 'normalisasi'.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL format DATETIME salah

  2. Yii2 Bagaimana cara melakukan pengelompokan kondisi AND atau OR?

  3. java.sql.SQLException:Tidak ada database yang dipilih

  4. subquery mengembalikan lebih dari 1 baris

  5. Kesalahan fatal:Tidak dapat menggunakan objek bertipe stdClass sebagai array di