2011-07-30 42 views
0

我有一個小部件,其中顯示了幾篇文章。每篇文章有大約2個選擇和1個插入/更新。延遲mysql查詢,然後批量運行

最壞的情況涉及一個顯示300篇文章的小部件,這涉及到900個查詢以及小部件的其他設置查詢,這確實會減慢小部件的速度。現在想象一下,有時候5個用戶同時加載小部件。

我在想如果我應該收集每個部件的所有查詢,然後將它們寫入文件。稍後將定期運行cron作業,每隔30秒執行一次這些查詢。

這會對性能產生多大的影響。另外,其他人是否有更好的系統或想法。

像youtube這樣的網站用來緩存YouTube視頻的視圖。

我無法再優化小部件。我想要一個延遲頁計數器的解決方案可以說/

+0

需要更多信息(如某些代碼),聽起來像您需要優化您的查詢 –

回答

0

使用cron作業來完成這種繁重的工作並不是一個壞主意:只要讓你的cronjob生成HTML輸出,並使用PHP代碼中的HTML ,當顯示頁面時。

這樣:

  • 頁面將快速顯示:只是一個靜態的HTML數據/文件,包括讀/
  • 永遠不會有超過1個用戶(的cronjob)做所有的沉重的查詢。


但是,嚴重的是,900個查詢小部件? 3個查詢單個文章?
這裏有一些應該改進的東西!

+0

我不能...只有一個選擇查詢來獲取文章的數據。 – Vish

+0

其餘用於分析目的。 – Vish

+0

但是我對選擇使用緩存,因此它每秒鐘15秒就有300次選擇查詢。但插件每個widget的負載是600。 – Vish