數(shù)據(jù)庫mysql 只能使用innodb引擎
有一張交易記錄表,分表邏輯是按年月分 table_202308,table_202309.....
現(xiàn)在要對交易記錄進(jìn)行統(tǒng)計,而且后臺也要查看記錄
數(shù)據(jù)查詢語句怎么優(yōu)化?
我能想到的是 寫個for循環(huán)一次一次查......
一般這種場景都是使用etl將數(shù)據(jù)導(dǎo)入OLAP系統(tǒng)中進(jìn)行統(tǒng)計的;
自己如果做的話,就弄一個批處理定時任務(wù),分維度分顆粒度來進(jìn)行統(tǒng)計,然后落一張表,業(yè)務(wù)的統(tǒng)計可以再在這張表上進(jìn)行二次統(tǒng)計
看數(shù)據(jù)大小, 可以重新弄一個數(shù)據(jù)庫, 建立分區(qū)表, 把所有數(shù)據(jù)導(dǎo)入,根據(jù)數(shù)據(jù)要求來統(tǒng)計. 如果數(shù)據(jù)實(shí)在太多, 使用阿里的rds來統(tǒng)計, 雖然要花錢, 效果很好.
如果對實(shí)效性沒有要求的比如不查今天數(shù)據(jù),可以在人少時用定時任務(wù)進(jìn)行業(yè)務(wù)統(tǒng)計然后落在一張表上,查詢都用這個表