我正在開發(fā)一個 PHP 儀表板,其中包含來自許多不同 MySql 表的統(tǒng)計信息。構(gòu)建圖表等需要許多累積和其他總計。一些查詢可能非常簡單,另一些查詢可以同時連接和比較多個表。為了正確地做到這一點,我正在考慮 3 種方法;1) 創(chuàng)建一個主表,在每次前端(網(wǎng)站)和后端(CRM)交互后不斷更新,并且只包含用于不同目的的總數(shù)。因此,可以使用簡單的選擇語句輕松訪問數(shù)據(jù)以構(gòu)建主儀表板。2) 每次生成儀表板時使用許多和/或復(fù)雜的查詢。這將花費更少的開發(fā)時間但更多的加載時間。也許有更好的方法來管理每個查詢的順序和執(zhí)行。3) 創(chuàng)建 cron 作業(yè)以在后臺更新總數(shù)。這是我最不喜歡的方法,因為出于多種原因感覺已經(jīng)過時了。有人可以建議我并解釋從長遠(yuǎn)來看最好的方法是什么嗎?提前致謝。
1 回答

慕標(biāo)琳琳
TA貢獻1830條經(jīng)驗 獲得超9個贊
首先,沒有“正確的方法”,只有一種適合您的需求在滿足您的需求時必須考慮兩件事:
您的業(yè)務(wù)需求(實時、每日更新等)
代碼維護的可擴展性
根據(jù)你的情況,我會結(jié)合這些選項。首先,我會創(chuàng)建一個帶有專用數(shù)據(jù)庫的專用數(shù)據(jù)庫,這對性能和歷史數(shù)據(jù)保存都有好處(如果你采用第二種方法,這可能會改變)
在這種情況下,是在線更新儀表板還是通過 cron 作業(yè)更新儀表板的問題:非常依賴于業(yè)務(wù)需求。我認(rèn)為 cron 工作首先更好,它是可擴展的 - 你可以在未來放棄它,只更新儀表板......第二,你可以讓它在“慢時間”運行,防止生產(chǎn)服務(wù)器過載. 不同的 cron 作業(yè)可以以不同的頻率更新不同的表等。
這當(dāng)然是我的意見。跳它有幫助
- 1 回答
- 0 關(guān)注
- 155 瀏覽
添加回答
舉報
0/150
提交
取消