![](/img/trans.png)
[英]Get the year, month week, day, hour, minute, second interval on two dates in PHP
[英]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.