我考虑过创建一个具有以下结构的MySQL表:
id | date | page_address | ip_array
1 | 12-12-12 | /page.php | ip1, ip2, ip3, ip4然后,对于我网站上的每一个访问页面,它将:
ip_array中,如果没有,则包括它。在此之后,我将有一个统计数字,我有多少不同的访问者在每一页和每天。
这样做是可以接受的吗?
发布于 2012-01-26 04:09:36
不,ip_array不是一个好主意,你最好为一个ip做一个记录。
id | date | page_address | ip
1 | 12-12-12 | /page.php | ip1
2 | 12-12-12 | /page.php | ip2
3 | 12-12-12 | /page.php | ip3
4 | 12-12-12 | /page.php | ip4然后,您可以做一个简单的选择来计算每个页面和每一天的不同访问者的数量。
SELECT COUNT(*) FROM your_table WHERE date = ? AND page_address = ?甚至可以让page_address详细信息存储在另一个表中,并使用page_id将它们关联起来。
table1:
id | date | page_id | ip
1 | 12-12-12 | 1 | ip1
2 | 12-12-12 | 1 | ip2
3 | 12-12-12 | 1 | ip3
4 | 12-12-12 | 1 | ip4table2:
id | page_address
1 | /page.php
2 | /page2.php 然后进行如下选择:
SELECT COUNT(*)
FROM table1
JOIN table2
ON table1.page_id = table2.id
WHERE table1.date =? AND table2.page_address = ?https://stackoverflow.com/questions/9013808
复制相似问题