我需要存儲一些統計信息:某些項目的點擊次數(超過1000項)。 我每天需要存儲的點擊次數: 如:第1天:1234點擊了項目1 第2天:12312個點擊次數第1項 天N:13123個點擊次數第1項如何長時間存儲點擊次數/天數?
我有一個便宜的服務器,所以我需要一個存儲所有這些數據的最佳方式。後來我需要從這個數據生成圖表
任何想法?
我需要存儲一些統計信息:某些項目的點擊次數(超過1000項)。 我每天需要存儲的點擊次數: 如:第1天:1234點擊了項目1 第2天:12312個點擊次數第1項 天N:13123個點擊次數第1項如何長時間存儲點擊次數/天數?
我有一個便宜的服務器,所以我需要一個存儲所有這些數據的最佳方式。後來我需要從這個數據生成圖表
任何想法?
店個體單擊數據庫每天,隔天運行cron作業究竟會產生總結報告,存放於其他表,由前一日干淨的原始數據(更小的)結果...
編輯: 如果你只想要監控每個項目點擊每天的邏輯結構是:
raport_date - date
item_id - reference to table stored info about items
hits - number of calculated hits
一切都取決於什麼報告/圖表,你需要
何不做一個表3列(你可以添加一個PRIMAR如果你願意,還可以加上y欄)。
我看你爲需要執行以下操作:
因此,可以說我們的桌子被命名, 「點擊跟蹤」。 「插入clickTracking設置day = date_format(now(),」%Y-%m-%d「),itemId = 1,clicks = clicks + 1重複鍵更新點擊次數=點擊次數+1點擊次數+ 1;」
我附上了一些mySQL的例子,主鍵。我發現數據更容易處理,如果我有一個auto_increment字段,但它不是一個要求。
mysql> create table clickTracking (id int unsigned not null primary key auto_increment,day datetime not null, itemId int unsigned not null, clicks int unsigned not null);
Query OK, 0 rows affected (0.00 sec)
mysql> create unique index item on clickTracking (day,itemId);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> insert into clickTracking set day = date_format(now(),"%Y-%m-%d"), itemId = 1, clicks = clicks + 1 on duplicate key update clicks = clicks + 1;
Query OK, 1 row affected (0.00 sec)
mysql> insert into clickTracking set day = date_format(now(),"%Y-%m-%d"), itemId = 1, clicks = clicks + 1 on duplicate key update clicks = clicks + 1;
Query OK, 2 rows affected (0.00 sec)
mysql> insert into clickTracking set day = date_format(now(),"%Y-%m-%d"), itemId = 1, clicks = clicks + 1 on duplicate key update clicks = clicks + 1;
Query OK, 2 rows affected (0.00 sec)
mysql> insert into clickTracking set day = date_format(now(),"%Y-%m-%d"), itemId = 2, clicks = clicks + 1 on duplicate key update clicks = clicks + 1;
Query OK, 1 row affected (0.00 sec)
mysql> select * from clickTracking;
+----+---------------------+--------+--------+
| id | day | itemId | clicks |
+----+---------------------+--------+--------+
| 1 | 2011-03-20 00:00:00 | 1 | 3 |
| 2 | 2011-03-20 00:00:00 | 2 | 1 |
+----+---------------------+--------+--------+
2 rows in set (0.00 sec)
有一些安靜的方法可以做到這一點。我提供了一種可能的解決方案。我更喜歡這種方法,因爲它使得報告變得容易,並且在服務器上具有最小量的存儲。
我會建議製作一個額外的「項目」表,對應itemId這裏。
謝謝,但我還有1個問題:我應該如何設計這個另一張桌子以獲得最佳表演? – coolboycsaba 2011-03-20 19:26:16