Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để lưu, xử lý tổng số tiền đơn hàng trong một đơn hàng, giản đồ orderDetails?

Có, việc lưu trữ các giá trị được tính trước, dựa trên dữ liệu khác trong cơ sở dữ liệu, trong cơ sở dữ liệu là điều bình thường. Nhưng không nhất thiết phải vì lý do mà bạn đề cập. Tôi chưa bao giờ gặp sự cố với MAX_JOIN_SIZE .

Lý do chính và có lẽ là duy nhất để lưu trữ các giá trị được tính toán là tốc độ. Vì vậy, bạn làm điều đó cho các giá trị không thay đổi thường xuyên và có thể được sử dụng trong các truy vấn sử dụng nhiều dữ liệu và do đó có thể quá chậm nếu bạn không sử dụng chúng.

Ví dụ:Nếu bạn muốn biết giá trị trung bình của tất cả các đơn đặt hàng trong cơ sở dữ liệu của mình, truy vấn sẽ nhanh hơn rất nhiều nếu bạn đã có tổng số đơn đặt hàng.

Tại sao và như thế nào, bạn cập nhật các giá trị là hoàn toàn tùy thuộc vào bạn. Tuy nhiên bạn phải nhất quán về điều đó . Nếu bạn sử dụng mẫu MVC, bạn nên tích hợp nó vào bộ điều khiển. Hay nói một cách đơn giản:Bất cứ khi nào một biểu mẫu được gửi có thể thay đổi một trong các giá trị, trong đó giá trị tính trước được tính, bạn cần phải tính toán lại.

Đây là một minh chứng rõ ràng khi 'bình thường hóa' không hoàn toàn được duy trì. Nó không thực sự đẹp, nhưng đôi khi đáng giá. Tất nhiên, bạn có thể tranh luận rằng giá trị được tính toán đại diện cho thông tin 'mới' và do đó không vi phạm 'chuẩn hóa'.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính giá trị phần trăm bằng MySQL

  2. C # Sử dụng các tham số sql bây giờ sẽ không hoạt động

  3. Chèn nhiều giá trị thả xuống trong một hàng chứ không phải trong nhiều hàng

  4. Câu lệnh chèn PDO với vòng lặp qua mảng $ _POST

  5. Mô hình hóa các biến thể sản phẩm