在日常数据库用户信息部分怎样设计好.
假设结构如下:
CREATE TABLE users(
`id` INT(11) PRIMARY KEY AUTO_INCREMENT,
`nickname` char(20) COMMENT '昵称',
`age` INT(4) COMMENT '年龄',
`phone` char(11) COMMENT '手机号',
`password` char(100) COMMENT '密码',
....
`other` text COMMENT '其他'
)
疑惑点是在 other 里。里面存放用户的其他信息。结构如:{"birthday":"2018-06-06","place":"陕西"}。
这样做有什么好处以及不好的地方。更好的设计是怎样的。谢谢指导!
2 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
这样的设计我个人认为挺不错。
这样做的好处:
- 容易扩展字段,不需要为了添加属性就去添加字段
坏处:
- 不方便对某个属性搜索,比方说要搜索出某段时间内生日的用户,那么可能会对生日的字段记录在other里面,可能存在其他日期的属性。
- 不利于索引的创建。other里面的属性不确定
具体来说,我认为需要根据需求来确定other里面的信息,不能把所有其他的属性都放入other里面。
- 2 回答
- 0 关注
- 393 浏览
添加回答
举报
0/150
提交
取消