2011-09-13 155 views
2

人們通常會如何收集有關注冊用戶數量或剩餘郵件數量(假設該站點是論壇)的站點統計信息 - 總計,今天,昨天,上週?這是關於每小時/每天/每週在用戶和消息表上運行Count()還是有一個更智能的增量方法?收集站點用戶統計信息

回答

3

當然,你用日期時間戳記錄了所有的活動,然後查詢那些日期在你想看到的兩個日期之間的記錄。如果這是一個現有的項目,但是,您可能尚未擁有所有這些數據,在這種情況下,您幾乎陷入了困境。

如果您使這一點,雖然,通常的做法是做這樣的:

比方說你有一個表,在某論壇的郵件。你可以在每個崗位在數據庫中存儲這樣的:

CREATE TABLE forum_post 
    (
    thread_posted_to_id int, 
    user_id int, 
    message text, 
    date_posted datetime DEFAULT (getdate()) 
    ) 

CREATE TABLE users 
    (
    user_id int, 
    name text, 
    date_signed_up datetime DEFAULT (getdate()) 
    ) 

然後你可以只查詢使用的,像這樣從某個用戶那裏得到的所有帖子的計數:

select count(*) from forum_post where user_id = ? 

或者,如果你想只能在一個範圍內的日期,你可以說

select count(*) from forum_post where user_id = ? and date_posted between ? and ? 

用你想要選擇的數據填充問號。