簡體   English   中英

如何計算最近/小時/天/周/月/年的訪問量最大的頁面? -PHP + MySQL

[英]How to count most visited pages in last: hour / day / week / month / year ? - PHP+MySQL

最簡單的方法就是將每次訪問都保存為:

page_visits_table
page_id | timestamp
1         time()
1         time()
2         time()

然后針對每小時/每天/每周/每月/每年創建計划的事件,以計算“ page_id”相同且時間戳足夠小的行。 然后將rowCount值保存到某處...

但是,如果該站點每天有10萬訪問者,並且一個訪問者平均訪問5頁=

100 000 * 5 * 356天= 1.780億行。

...因此表格大小會變得太大。 必須有一些聰明的方法來做到這一點,而又不會使數據庫過載。

正如其他指出的那樣,使用第三方數據收集器中的數據對您來說應該是最有效的。

但是,如果您仍然對答案感到困惑,那么自己動手做:

問題是,是否需要詳細的數據。 您正在記錄每個請求。 相反,您可以記錄每天,每小時或任何時間的請求總數。

因此,結構將更像是:

page_id | request_day | request_count
1         2015-06-14    24267
2         2015-06-14    103887
2         2015-06-13    112241

您以這種方式保存了一些行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM