2011-02-04 41 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 |    | 
+----------+------------------+------+-----+---------+----------------+