微信第三方平台 后台mysql 用户表怎么设计

微信第三方平台 后台mysql 用户表怎么设计,第1张

说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情。用户表结构的设计,算是整个后台架构的基石。如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地方也不少。与其如此,不妨设计用户表之初就考虑可拓展性,争取不需要太多额外代价的情况下一步到位。

先前设计:

id

username

password

用户名加上密码,解决简单需求,留个id作为其他表的外键。当然,那时候密码还可能是明文存储,好点的知道md5。

后来呢,随着业务需求的拓展,要加个用户状态 status 判断用户是否被封禁,注册时间和注册IP地址、上次登录时间和IP地址备查(并衍生出登录记录表,用来判断是否异地登录等,在此不表),用户角色/权限 role (又衍生出用户角色权限关系,还是另文讨论),业务也需要个人的个人信息如真实姓名、地址等也一股脑往上添加,现在形成了一个很完整的用户关系表。

CREATE TABLE  my_test(

    `id` int unsigned  not null AUTO_INCREMENT PRIMARY KEY COMMENT '用户id',

    `name` varchar(20) not null COMMENT '用户姓名',

    `sex` char(3) not null default 'm' COMMENT '用户性别'

)ENGINE=INnoDB DEFAULT CHARSET=utf8

改成上面这样,首先你的加注释的方式错了,还有你的设置主键的关键字拼错了,然后你的用户性别后面多了个逗号

第一个问题:

对应关系是多对多,也就是一篇文章可以给多人收藏,一人可以收藏多篇文章,使用第二种方法,可以任意扩展,第一种方法虽然在取值的时候方便,但是其他的扩展 *** 作会很痛苦

第二个问题解法跟第一种一样

第三个问题:

缓存的使用,避免过度查询同样的sql,如果你的系统重复查询很少,你用缓存也没什么用,如果多,用缓存会快很多,你看你使用的情况,自己衡量什么时候该用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7255667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存