Tôi có một ứng dụng thực hiện các phép tính phức tạp cho các thành viên. Mỗi thành viên có thể có nhiều tiểu bang của Hoa Kỳ được liên kết với tiểu sử của họ. Mỗi tiểu bang có các tính toán khác nhau cho mỗi khóa học mà một thành viên hoàn thành.Lớp nghiệp vụ so với SQL Server
Hiện tại tôi đã thực hiện các phép tính trong DB (SQL Server 2008) và sau đó gửi dữ liệu trở lại lớp ứng dụng, nơi họ có thể xem lịch sử của họ và sau đó tải xuống chứng chỉ cho mỗi khóa học.
Tôi có lớp logic kinh doanh nhưng không có nhiều điều xảy ra ở đó. Tôi biết điều này đã được hỏi rất nhiều nhưng bạn nghĩ tôi nên thực hiện những tính toán này ở đâu: lớp kinh doanh hoặc cơ sở dữ liệu? Tôi sẽ trở lại và ra !!
Tôi sẽ luôn thực hiện các phép tính trong cơ sở dữ liệu, ** nếu ** tính toán của bạn sẽ cần phải trả về ** rất nhiều dữ liệu ** cho tầng giữa, chỉ để có ví dụ: một 'SUM' được tính toán. Tại sao bận tâm gửi tất cả dữ liệu đó xung quanh ?? Cơ sở dữ liệu được trang bị tốt để tổng hợp một số giá trị và chỉ gửi lại một kết quả - ** nhiều ** hiệu quả hơn! Vì vậy, bất cứ khi nào bạn cần phải làm rất nhiều - nhưng trở lại ít - làm điều đó trên máy chủ. –
Tôi đồng ý với @marc_s SQL Server được thiết kế để xử lý dữ liệu nhanh chóng và hiệu quả hơn. –