PDA

View Full Version : Thiết kế cơ sở dữ liệu lưu history data các tháng, dữ liệu lớn



phungdinhvu
15-01-2011, 10:42
Chào các bạn, mình có vấn đề này liên quan tới thiết kế cơ sở dữ liệu và tối ưu hóa, các bạn nghĩ xem mình nên thiết kế cơ sở dữ liệu thế nào nha.
Mình muốn lưu trữ dữ liệu của các tháng để làm cái statistic, mỗi một tháng, cơ sở dữ liệu là một table, đại loại thế này:
table(id,price,price_max,price_min)
Bi giờ mình muốn thống kê giá trung bình của các bản ghi trong tháng 1,2,3,..... thì nên thiết kế lại một bảng để lưu dữ liệu các tháng như thế nào?
Mình định làm một bảng gồm :
table(id,price_thang1,price_max_thang1,price_min_t hang1,..........2,3,4.....)
nhưng mà như thế thì không ổn vì theo thời gian số column sẽ tăng lên.
Mình cũng không thể để 1 tháng 1 table vì khi thống kê cho nhiều tháng liên tiếp sẽ phải truy cập tới nhiều table (mỗi table có số lượng bản ghi rất lớn :( )
Không biết giờ làm thế nào nhi?
Mình đã dùng google analytics, không biết nó lưu history các tháng kiểu gì ý nhi?

vuht2000
15-01-2011, 11:16
Bạn nên dùng table partitioning, dữ liệu vẫn chứa trong một bảng nhưng dữ liệu mỗi tháng được lưu trong một partition của bảng. Gợi ý cho bạn một bài về chủ đề này:
http://www.sqlviet.com/blog/table-partitioning-trong-sql-server