我一直想知道链接跟踪网站如何存储所有数据!好吧,我要说我的数据库中有1000页
IP
并且我愿意为每个链接记录每个访问者的browser name
,operation system
和data
,因此我决定添加数据库表-----------------------------------------------------
| PageID | IP | browser | system |
-----------------------------------------------------
| 1 | 000.000.000.00 | firefox | win7 |
-----------------------------------------------------
| 2 | 000.000.000.01 | IE | android |
-----------------------------------------------------
| 2 | 000.000.000.02 | Chrome | kardishan |
-----------------------------------------------------
,如
android
但如果每页有10,000名访问者怎么办?
假设每个页面将获得大约10,000个访问者,因此我认为数据库可能会中断,因为这意味着将添加新的30,000行!另外,如果我想要查询有多少访问者MenuItem prevMenuItem;
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
if(prevMenuItem != null) prevMenuItem.setVisible(true) //making visible the previously hidden item.
menuItem.setVisible(false);
prevMenuItem = menuItem //storing the instance of currently hidden item to make it visible later.
return true;
}
});
这个简单查询的系统可能甚至不响应
现在认为每页有100万访问者意味着300万行!!
所以如果有另一条路线我可以遵循这样做而不跨越我的数据库边界,那么有人有更好的解释给我的理由
谢谢
答案 0 :(得分:0)
您可以再添加一个名为count
的列。
那么您每天只能保存唯一身份访问者。所有非唯一身份访问都应增加count
列。
答案 1 :(得分:0)
您应该告诉DBMS某些列组合仅在表中出现一次。如果你这样做,MySQL将自动定义索引。即通过PRIMARY KEY和UNIQUE NOT NULL约束。