資料表每天五千四百萬資料,,如何彙總

tecentID52E46發表於2015-01-05

mysql資料表table1每天5千4百萬資料,十張分表(或者五十張分表),目前還未確定分表數,

資料量是確定了,根據表中四個欄位(c1,c2,c3,c4)彙總,四個欄位相同就可合為一條,累加金額。

目前的處理方式是使用java, 不考慮儲存過程(公司限制,分表太多,儲存過程不利於維護)

方案一,在記憶體中計算判斷,累加,在記憶體中儲存彙總結果, 因為資料量太大, 不是很合適。

方案二, 批量取出(如五千條),一批批匯總, 將結果插入臨時表中。再進行彙總。

方案三, 將四個欄位的某個欄位作為分表維度, 這樣子的結果就是,每個表中的彙總結果都會各自獨立,不需要再次彙總, 缺點是 每張表的資料量可能不平均。 (所有資料彙總完後,最多會有6萬條彙總結果。)

彙總完後,最後還有個處理過程就是,彙總結果表table2中的主鍵id 需要回填進 table1 對應的記錄(為了表明table1的記錄彙總到了table2中的某條記錄)。

個人認為幾張方案都不是很合適。

論壇大神有其他好的方案麼。

相關文章