我正在開發一個網站並獲得一個數據庫,用戶可以在其中插入數據(投票)。我想在標題中保留一個計數器,如「x」投票。但很快就會有很多網站上的流量。現在我可以與查詢每30秒運行一次SQL查詢(計數),然後將輸出保存到某個文件中
SELECT COUNT(*) FROM `tblvotes
,然後在標題顯示號碼,但後來每次用戶更改頁面做到這一點,它會重新進行查詢,所以我想,也許這是更好地查詢每30秒一次(在mysql服務器上負載少得多),但是我需要將它的輸出保存到某個地方(這不應該太難;我可以將它寫入文本文件?)但是我怎麼能讓它我的網站每30秒自動運行一次查詢並將該號碼存入文件中。我沒有SSH服務器,所以我不能crontab它?
如果有什麼你可能不知道的問題隨時問!
但是它仍然會要求用戶在每次切換頁面時都運行一次sql querry?(querry不再是一個計數,而是像「select count from tbltriggercount」)? – Maximc 2012-04-26 14:49:52
@Maximc - 是的,你仍然被迫執行該查詢。此外,這裏還有一個更大的問題 - 要麼是您的聚合表會報告不正確的結果,要麼僅僅更新表本身就會成爲性能瓶頸(這些行爲源於與事務相關的問題)。無論如何,你真正想要的是某種內存中的解決方案,而不是聚合表(具有適當的指示,簡單的'COUNT()'是微不足道的)。 – 2012-04-26 15:39:10
是的,你必須每次都要執行查詢。但是,如果沒有像count()或sum()這樣的函數,它會容易得多。例如。 'SELECT value FROM aggTable WHERE param ='counter''但它確實仍然是一個查詢。 – stUrb 2012-04-26 15:39:28