国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - 對單表大量數(shù)據(jù)進行報表匯總有什么高效的方法

瀏覽:130日期:2022-06-18 18:37:55

問題描述

我有一個表記錄了系統(tǒng)中所有功能的使用日志,精確到秒,我們簡稱為秒表。現(xiàn)在有需求是,分別制作對應的功能使用次數(shù)匯總,年,月,日,3個維度的報表。這個秒表1個月大概會增加400W條數(shù)據(jù)。

我的做法是,每一個月手動執(zhí)行一次匯總方法。1.先把秒表匯總出日表2.再從日表匯總出月表3.再從月表匯總出年表4.然后刪除秒表的數(shù)據(jù),只保留最近7天的

這個方案有幾個弊端,1.就是第一步,從秒表匯總出日表的時候,由于數(shù)據(jù)量太大,一個groupby一般都要卡很長時間,有時候還會假死。2.就是第四步,為了避免第一步數(shù)據(jù)量太大,所以才在匯總后刪除用過的數(shù)據(jù)。但是這樣刪除之后,就等于丟失了實時數(shù)據(jù)。

所以。。。想問問大神們平時是怎么處理這些情況的,有什么更好的方案?

問題解答

回答1:

1、你的第一步可以按照小時groupby 這樣時間不會太長2、可以將秒表分表處理,即1周一個表,或者1天一個表,這樣也可以解決這些問題。

回答2:

把第一步“先把秒表匯總出日表”分散到每天執(zhí)行前一天的數(shù)據(jù),寫個腳本,crontab定時每天執(zhí)行一次。另外這種log型的數(shù)據(jù),可以試試mongodb

回答3:

數(shù)據(jù)產(chǎn)生時就已經(jīng)做好報表數(shù)據(jù)的路過。把數(shù)據(jù)扔給elasticsearch試試速度。400w的數(shù)據(jù)而已,對mysql還是小意思的。另外,我推薦PostgreSQL

回答4:

梳理sql,減少慢查詢。通過多次查詢來組合數(shù)據(jù)優(yōu)化數(shù)據(jù)結(jié)構(gòu),操作+時間應該是一個索引(或者是時間+操作)。其實簡而言之就是減少復雜sql,盡量通過其他方法去彌補。

回答5:

大體是幾個思路:1、將每月匯總的工作,分解到每一天,這樣出月度最終結(jié)果的時間會比較短。2、為避免秒表的數(shù)據(jù)一直增大,可以考慮按照月度進行表分區(qū),每月將上個月的數(shù)據(jù)移動到另外一個歷史表,保持秒表的大小可控。另外一種方法是每月的數(shù)據(jù)進入結(jié)構(gòu)相同、名稱不同的表,從方案上就規(guī)避了秒表過大的問題。

相關(guān)文章:
主站蜘蛛池模板: 国产一级黄色网 | 精品午夜国产在线观看不卡 | 国产亚洲高清在线精品99 | 久久精品免费一区二区视 | 亚洲综合色就色手机在线观看 | 日本一区二区三区在线 视频观看免费 | 亚洲欧美一区二区三区在线播放 | 国产亚洲影院 | 美女扒开腿被男人猛视频 | a级毛片在线视频免费观看 a级免费 | 精品韩国主播福利视频在线观看一 | 日本特一级毛片免费视频 | 欧美一及片 | 成人高清在线观看 | 日韩毛片一级 | 中文字幕亚洲综合久久 | 久久九九亚洲精品 | 美女被男人cao的爽视频黄 | 黄色三级三级三级免费看 | 日韩精品中文字幕一区二区三区 | 亚洲欧美日韩中文字幕在线一 | 成年大片免费视频播放手机不卡 | 网禁呦萝资源网站在线观看 | 国产在线精品一区二区高清不卡 | 久色视频在线观看 | 欧美成人艳星在线播放 | 萌白酱粉嫩jk福利在线观看 | 欧美午夜网 | 日韩专区亚洲综合久久 | 日韩成人黄色片 | 中文字幕99在线精品视频免费看 | 九九久久久久午夜精选 | 欧美日韩 国产区 在线观看 | 亚洲免费观看视频 | 亚洲欧美久久精品1区2区 | 国产欧美日韩在线观看 | 91福利网 | 亚洲制服丝袜美腿亚洲一区 | 国模肉肉人体大尺度啪啪 | 久久国产精品视频一区 | 91久久亚洲精品国产一区二区 |