2009-09-19 83 views
1

我想知道你們有什麼想法做一些web counter後端的最佳方法。我將通過PHP跟蹤下載情況,我每天看到大約150萬次「下載」,我將存儲的內容將是「userid」和「downloadid」。可能時間呢?最好的辦法是什麼?在每天結束時,我應該編譯所有重複的下載文件並製作另一個索引爲「day」和「downloadid」的表格,然後添加一個「count」列?PHP + MySQL網絡統計

顯然這兩個表格都會非常大,3個月後,我可以用「count」將表格壓縮到「month」和「downloadid」。我只是想看看有沒有更好的方法?再一次,我更喜歡PHP/MySQL方法。

編輯:我可以使用類似:http://www.infobright.org很顯然,我需要拉起點播的統計數據,但寫作閱讀是最有可能的1000:1個

謝謝, 詹姆斯哈蒂格

回答

1

我不確定你爲什麼要製作多個表格。你擔心桌子的大小嗎?

你可能會沒事的只是插入每個訪問在一個表中作爲一行ID與時間戳和你的下載ID。正確編寫的SQL查詢應允許您在查詢中使用WHERE語句插入數據後,在特定的日期和時間或特定的下載ID中提取數據。

希望有幫助!

編輯This article用60億行進行一些測試。從我所知道的情況來看,即使擁有大量的行,MySQL仍然運行得相當快。

+0

我主要關心的是5000萬行以上(30天價值)的表的性能。這不是問題嗎?或不? – 2009-09-19 02:03:15

+0

它不應該是一個問題,像你說的你可以做出報告和刪除一些數據(凝析油)。 – RageZ 2009-09-19 03:39:42

+0

MySQL通過一百萬行破解,就像沒有任何東西。我不能肯定地說,如果你願意花一兩秒鐘來計算一下,MySQL應該能夠很好地處理5000萬。對於統計管理,我期望你需要這個。我不會擔心使用單個表。 – 2009-09-19 06:40:10