Nên thiết kế table để lưu các số liệu thống kê như thế nào?

Mọi người cho em xin ý kiến về cách lưu trữ các số liệu thống kê như doanh thu/lợi nhuận/ đơn hàng/ món ăn bán được/ nguyên liệu đã dùng/ thu,chi … là mình nên tổng hợp các số liệu này ra các bảng riêng theo chu kì (ví dụ cuối ca, cuối ngày, hay 1 thời điểm cố định nào đó bằng cron job) hay sẽ tổng hợp từ nhiều bảng liên quan chỉ khi có request.

Mình nghĩ lập ra bảng riêng luôn, theo ngày, tháng, quý, … Khi nào cần lấy thông tin hiện tại thì tính tại thời điểm request

4 Likes

Tùy theo đặc tả mà có nhiều cách làm.

Tuy nhiên, theo kinh nghiệm của mình, có một lưu ý quan trọng sau
・Tuyệt đối tránh việc tính toán lặp đi lặp lại ở mỗi request đọc thông tin
(nếu là request update thông tin thì tùy tình hình có thể cân nhắc)

Nguyên nhân là, việc cập nhật dữ liệu thống kê là một tác vụ nặng, đặc biệt nếu lượng dữ liệu lớn.
Do đó, các request đọc thông tin tốt nhất là lấy dữ liệu đã được tính toán sẵn, chứ không phải đến lúc đó mới tính toán.

Cách tạo bảng lưu trữ dữ liệu thống kê kết hợp với cronjob là một cách phổ biến, hiệu quả tốt.

7 Likes

Thiết kế theo star schema nhé, seach là sẽ ra.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?