如何设计能容纳成千上万人注册的数据库,并且能很好的维护和拓展 数据库设计 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用户关系表 ( userid, friendid,col1,col2,...) 可参考discuz!开源的PHP+MYSQL一、是二、前者 用户关系表 ( userid, friendid,col1,col2,...)版主的意思是建立一个这样的表吗?CREATE TABLE Contacts(UserID varchar(10)。FriendID1.......FriendID2 ........FriendID3 ..........); 您的意思是第一个问题不是问题,第二个问题参考discuz? 我打算做一个软件系统(说白了就是毕业设计),需要做一个并发网络服务器,打算使用C+MySQL+OpenSSL做,编程问题不大,问题是我对数据库设计不熟悉,不知道如何设计一个符合性能需求,又方便管理和未来拓展的的数据库。可以参考哪个系统呢? discuz! 的数据库设计很多是为 php 和 高性能要求而优化的,如果照帮未必可行。你的第二个表可以这样设计:-------------------UserID integer,FriendID integer,primary key (UserID, FriendID)-------------------或者-------------------UserID integer,FriendID_lists text,.....primary key (UserID)-------------------但不赞成------------------------------------------UserID varchar(10)。FriendID1.......FriendID2 ........FriendID3 ..........------------------------------------------- -------------------UserID integer,FriendID integer,primary key (UserID, FriendID)-------------------如果这样,一个用户有多个联系人,该怎么办呢? -------------------UserID integer,FriendID integer,primary key (UserID, FriendID)-------------------如果这样,一个用户有多个联系人,该怎么办呢?一个记录一个联系人,有多少个联系人就多少行记录啊我下面有 primary key 的说明,就可以看出里面的数据大概是如何分布的。 -------------------UserID integer,FriendID integer,primary key (UserID, FriendID)-------------------如果这样,一个用户有多个联系人,该怎么办呢?一个记录一个联系人,有多少个联系人就多少行记录啊我下面有 primary key 的说明,就可以看出里面的数据大概是如何分布的。但是如果这样,两个主键会产生冲突的啊!不用主键的话,像下面这样不是很浪费空间,又不好管理?user Contacts110 啊啊110 哦哦110 呃呃110 嗯嗯111 呵呵111 哈哈111 嘻嘻这样不是很好管理? -------------------UserID integer,FriendID integer,primary key (UserID, FriendID)-------------------如果这样,一个用户有多个联系人,该怎么办呢?一个记录一个联系人,有多少个联系人就多少行记录啊我下面有 primary key 的说明,就可以看出里面的数据大概是如何分布的。但是如果这样,两个主键会产生冲突的啊!不用主键的话,像下面这样不是很浪费空间,又不好管理?user Contacts110 啊啊110 哦哦110 呃呃110 嗯嗯111 呵呵111 哈哈111 嘻嘻这样不是很好管理?这个联合主健 primary key (UserID, FriendID) 会产生冲突吗?空间是浪费, 但是最好管理,(增加一个联系人,删除一个联系人,用简单的SQL就可了),我不知道你所说的不好管理是指什么。你还是看一下 别人discuz!的源码吧。有例子就知道,按葫芦画瓢了。 这个联合主健 primary key (UserID, FriendID) 会产生冲突吗?空间是浪费, 但是最好管理,(增加一个联系人,删除一个联系人,用简单的SQL就可了),我不知道你所说的不好管理是指什么。你还是看一下 别人discuz!的源码吧。有例子就知道,按葫芦画瓢了。 一、如果很多用户(比如一万人)在系统注册了,只使用一张用户表来存储用户注册信息吗?一张表就可以的。二、如果一个用户有多个关注的人或者联系人,不同的用户可能有相同的联系人。这样的话该如何 建立联系人表?如果只建一张表,存储一万个用户的多个联系人,表将很大;如果为没个用户 建立一张联系人表,数据库中表的数量将会很多。该如何设计呢。(userid,friendid,gzxx,userxx) 真不知道你这个是什么意思啊,可以说细点吗?麻烦了(userid,friendid,gzxx,userxx) mysql的服务 偶尔会异常挂掉,出现的错误码为2003,这可能是为什么啊,大侠们! Mysql用csv导入的问题. 数据库的导入问题 使用rand()作为查询条件出现的奇怪的问题 请问这个复杂的转移表的数据如何实现? 避免每个记录都做比较 常量放到where前面 我用mysql创建的存储过程有错误,大家帮我看一下 请教mysql存储过程的分页写法?谢谢 MYSQL连接不上(LINUX) 在mysql中如何分块读取blob类型的字段数据 如何维持自增列 mysql数据表某个字段里存储很大的数据导致查询很慢
用户关系表 ( userid, friendid,col1,col2,...)
开源的PHP+MYSQL一、是
二、前者
用户关系表 ( userid, friendid,col1,col2,...)版主的意思是建立一个这样的表吗?
CREATE TABLE Contacts(
UserID varchar(10)。
FriendID1.......
FriendID2 ........
FriendID3 ......
.
.
.
.);
可以参考哪个系统呢?
你的第二个表可以这样设计:
-------------------
UserID integer,
FriendID integer,
primary key (UserID, FriendID)
-------------------
或者
-------------------
UserID integer,
FriendID_lists text,
.....
primary key (UserID)
-------------------但不赞成
------------------------------------------
UserID varchar(10)。
FriendID1.......
FriendID2 ........
FriendID3 ......
....
-------------------------------------------
UserID integer,
FriendID integer,
primary key (UserID, FriendID)
-------------------
如果这样,一个用户有多个联系人,该怎么办呢?
UserID integer,
FriendID integer,
primary key (UserID, FriendID)
-------------------
如果这样,一个用户有多个联系人,该怎么办呢?一个记录一个联系人,有多少个联系人就多少行记录啊
我下面有 primary key 的说明,就可以看出里面的数据大概是如何分布的。
UserID integer,
FriendID integer,
primary key (UserID, FriendID)
-------------------
如果这样,一个用户有多个联系人,该怎么办呢?一个记录一个联系人,有多少个联系人就多少行记录啊
我下面有 primary key 的说明,就可以看出里面的数据大概是如何分布的。
但是如果这样,两个主键会产生冲突的啊!
不用主键的话,像下面这样不是很浪费空间,又不好管理?
user Contacts
110 啊啊
110 哦哦
110 呃呃
110 嗯嗯
111 呵呵
111 哈哈
111 嘻嘻
这样不是很好管理?
UserID integer,
FriendID integer,
primary key (UserID, FriendID)
-------------------
如果这样,一个用户有多个联系人,该怎么办呢?一个记录一个联系人,有多少个联系人就多少行记录啊
我下面有 primary key 的说明,就可以看出里面的数据大概是如何分布的。
但是如果这样,两个主键会产生冲突的啊!
不用主键的话,像下面这样不是很浪费空间,又不好管理?
user Contacts
110 啊啊
110 哦哦
110 呃呃
110 嗯嗯
111 呵呵
111 哈哈
111 嘻嘻
这样不是很好管理?
这个联合主健 primary key (UserID, FriendID) 会产生冲突吗?
空间是浪费, 但是最好管理,(增加一个联系人,删除一个联系人,用简单的SQL就可了),我不知道你所说的不好管理是指什么。
你还是看一下 别人discuz!的源码吧。有例子就知道,按葫芦画瓢了。
空间是浪费, 但是最好管理,(增加一个联系人,删除一个联系人,用简单的SQL就可了),我不知道你所说的不好管理是指什么。
你还是看一下 别人discuz!的源码吧。有例子就知道,按葫芦画瓢了。
一张表就可以的。二、如果一个用户有多个关注的人或者联系人,不同的用户可能有相同的联系人。这样的话该如何
建立联系人表?如果只建一张表,存储一万个用户的多个联系人,表将很大;如果为没个用户
建立一张联系人表,数据库中表的数量将会很多。该如何设计呢。
(userid,friendid,gzxx,userxx)
(userid,friendid,gzxx,userxx)