2011-11-30 77 views
0

我有一個跟蹤頁面瀏覽量的網絡應用程序。該應用程序檢查最終用戶的IP地址並將其映射到國家。到目前爲止,一切都在這裏運作我應該聚合嗎?這是一個明智的做法嗎?

但是,我意識到這張表(稱爲views)的填充速度非常快,因爲它跟蹤每個頁面視圖。在達到500k,1M等的某些頁面上,這可能會在短時間內在此表上存儲數百萬條記錄。

我想過每24小時將結果彙總到一個新表(稱爲country_views)中,然後刪除views中的記錄。

舉例來說。我的views表格可能如下所示:

page_id | country_id | created_at | updated_at 
======= | ========== |=========== | ========== 
1  | 1   | 2011-11... | 2011-11... 
1  | 2   | 2011-11... | 2011-11... 
1  | 1   | 2011-11... | 2011-11... 
1  | 1   | 2011-11... | 2011-11... 
2  | 4   | 2011-11... | 2011-11... 
2  | 3   | 2011-11... | 2011-11... 

24小時後。我從這張表中計算結果並將它們放到一個名爲country_views的新表中。它可能看起來像:

page_id | country_id | total | created_at | updated_at 
======= | ========== | ===== | ========== | ========== 
1  | 1   | 3  | 2011-11... | 2011-11... 
1  | 2   | 1  | 2011-11... | 2011-11... 
2  | 4   | 1  | 2011-11... | 2011-11... 
2  | 3   | 1  | 2011-11... | 2011-11... 

在同一個網絡應用程序。我計劃將這些數據作爲餅圖顯示給某些用戶,以顯示哪些國家正在查看特定頁面。

這是一個明智的做法嗎?有沒有更好的方法來解決這個問題?

+0

這讓SENCE,雖然你的數據有很多的重複。據我所知,一個頁面只創建一次,但多次查看。 – newtover

回答

1

爲什麼你不只是保持觀點數量?

您只想計算哪個頁面是由哪個國家看到這樣只需添加一個計數列,並增加它如果記錄已經存在,否則增加一個新行:)

+0

嗯,很好的建議! –

+0

但是,如果我想跟蹤一天中觀看了多少個觀看者,該怎麼辦?擁有「count」列不會爲我提供該數據集 –

0

我認爲這種方法很好,尤其是因爲它可以通過編程方式輕鬆撤消。

+0

嗯,我不知道它是否可以撤消,因爲'views'表的結果將被刪除以獲得更好的結果 –

+0

我的意思是您可以使用您存儲的彙總數據輕鬆地重新創建原始數據。 –

相關問題