我有一個店員管理系統,店員1W,表members,店員有推薦機制(店員幾乎是等級無限制的推薦)。
還有一個店員的銷售業績表,member_sales,每一個店員銷售一筆,就會向member_sales寫一條數據。
現在我每天要統計一個店員和他的所有下級店員每天的營業額,如果達到我的業績要求,就會給他發獎金。
現在數據不太多,我開了5個crontab 每隔一小時統計2000個店員,5小時完事兒。
但是我怕店員多了以後,這樣的笨方法就不行了,要怎麼辦?
我有一個店員管理系統,店員1W,表members,店員有推薦機制(店員幾乎是等級無限制的推薦)。
還有一個店員的銷售業績表,member_sales,每一個店員銷售一筆,就會向member_sales寫一條數據。
現在我每天要統計一個店員和他的所有下級店員每天的營業額,如果達到我的業績要求,就會給他發獎金。
現在數據不太多,我開了5個crontab 每隔一小時統計2000個店員,5小時完事兒。
但是我怕店員多了以後,這樣的笨方法就不行了,要怎麼辦?
用資料庫啊,mysql簡單夠用
使用資料庫,對資料進行統計,說不定後期還能做數據分析呢
每天凌晨跑一次就行了吧,每個小時跑一次沒必要吧
用了資料庫麼, sql
查詢不可能一個小時才2000個啊,crontab
具體是執行的什麼任務呢?
這種數量級的關係型資料庫妥妥的
你統計的SQL應該是有問題的,是不是內嵌了循環select。
重做吧。店員的樹狀結構設計本身有問題,統計的邏輯也不對,所以時間超長,不是幾十句話能說明白的。
店員必須是樹狀結構的,其銷售業績是自身及其下所有子節點的銷售業績的總和。
此外member_sales表應該有銷售日期和銷售時間兩個字段,銷售日期用來統計,而不能透過格式化銷售時間轉換日期。
樹形結構可以參考無限分類。
把你定時任務的SQL和程式全部貼出來看看