我的意思是用户的个人信息,会不会为他单独建一张表比较好呢?
例如用户可以自定义标签的话,先在user表里面存在id=1的用户,
现在用户要自定义标签,我是不是可以针对他创建一个tags表呢?
还是所有用户的所有自定义标签,都存在一个tags表里面,然后在tags里面设置uid字段,从而联系用户与标签?前一种方法,实际会这么做吗?真的存在这样的情况吗?
后一张方法,会不会造成查询用户对应的自定义标签是速度慢?
例如用户可以自定义标签的话,先在user表里面存在id=1的用户,
现在用户要自定义标签,我是不是可以针对他创建一个tags表呢?
还是所有用户的所有自定义标签,都存在一个tags表里面,然后在tags里面设置uid字段,从而联系用户与标签?前一种方法,实际会这么做吗?真的存在这样的情况吗?
后一张方法,会不会造成查询用户对应的自定义标签是速度慢?
空泛的讨论的话,只能说两种方式均有人使用过,在不同的应用场景。
insert into user(username,password) values("admin",md5("admin"));
insert into user(username,password) values("guest",md5("guest"));
下面建立标签表
第一种方法:
//为第一个用户单独建立标签表
create table 1_tags(id int rimary key auto_increment, tagname varchar(255));
//为第二个用户单独建立标签表
create table 2_tags(id int rimary key auto_increment, tagname varchar(255));//插入数据
insert into 1_tags(tagname) values("测试");//查询的时候
只要查询第一个用户的tags表就可以查到他所有创建的标签了第二种方法:
create table tags(id int rimary key auto_increment, tagname varchar(255));//创建用户,标签关联表
create user_tag(uid int, tagid int);说到这里大家懂我的意思了吗?
大家做项目的时候,是用哪种方法?
可能我这样说还是比较空泛。。谁能给我点参考意见,多谢