每个最终用户帐户应该在mysql中获取自己的表吗?

时间:2013-03-03 18:28:08

标签: mysql user-accounts connection

n00b mysql问题:

如果我有一个包含所有最终用户名和Id的表,并且我想跟踪每个用户的连接,那么每个最终用户是否应该拥有自己的表?

e.g。

最终用户A连接到用户B,用户C和用户D;应该有一个单独的表,只为用户A,有一个列表:

User B  |    84746
User C  |    94837
User D  |    03265

3 个答案:

答案 0 :(得分:1)

不,请使用一张桌子。这就是数据库的用途:-) 否则,您将获得大量的表(如果您有很多用户)。即使你不期望很多用户,也不是那种方式。

答案 1 :(得分:1)

我强烈反对它 - 不要创建需要查询结果的多个表(例如来自(CONCAT(...))的SELECT *)。而是创建一个映射最终用户及其连接的表:

 id (primary key) | endUser  | connectedUser | connections
 ---------------------------------------------------------
 1                | User A   | User B        | 84746
 2                | User A   | User C        | 94837
 3                | User A   | User D        | 03265

索引endUser列以便更快地访问,您应该设置。

答案 2 :(得分:1)

我不知道你怎么可能管理可变数量的表,但你会失去所有关系。您应该为关系添加一个表:

CREATE TABLE Relationships (
    userOwnerID,
    userFriendID
);