2011-02-04 39 views
0

我正在寻找用户登录所有登录。一些简单的像userid, date, ip应该创建一个数据库,每个表是一个用户,每个行都是一个登录?如果有100个用户会有这种方法的负面影响?这是在实践中完成的方式吗?或者,还有更好的方法?登录存储建议

+0

登录到什么? OS?数据库?网站?音量是多少?一天一百万?一年一百万? – 2011-02-04 23:48:57

+0

网站,让我们说一年一百万。 – Skizit 2011-02-04 23:55:59

回答

2

不要为每个用户创建一个单独的表。该表应包含所有用户的所有登录信息:

CREATE TABLE logins (
    id INT NOT NULL AUTO_INCREMENT, 
    user_id INT UNSIGNED NOT NULL, 
    log_time DATETIME, 
    ip INT UNSIGNED, 
    PRIMARY KEY (id) 
); 

mysql> DESCRIBE logins; 
+----------+------------------+------+-----+---------+----------------+ 
| Field | Type    | Null | Key | Default | Extra   | 
+----------+------------------+------+-----+---------+----------------+ 
| id  | int(11)   | NO | PRI | NULL | auto_increment | 
| user_id | int(11)   | NO |  | NULL |    | 
| log_time | datetime   | YES |  | NULL |    | 
| ip  | int(10) unsigned | YES |  | NULL |    | 
+----------+------------------+------+-----+---------+----------------+