MySQL-数据库表结构问题
我现在有两张表:
user表 用户基本信息 uid(med 8),sex(enum('男', '女')),age (tinyint 2)
com表 简评 comid(med 8), uid(med 8), con(varchar 240)
我现在有个需要(其实有很多类似这样的需求),是统计出用户的简评个数.
问题是说我是在user表添加一个字段comnum来记录个数,还是每次都通过查询com表来统计个数,这两种方式哪一种好,或者您有更好的建议?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以对比 普通视图和物化视图 的优缺点(当然不完全一样).
"在user表中添加一个字段comnum", 优点是 查询速度快, 缺点是: 额外的物理存储空间; 每次com表更新都需要更新对应的 user表的comnum字段(自己逻辑控制? 触发器?).
"每次都通过查询com表来统计个数": 需在comm表的uid上建立索引, 每次只需查询索引即可完成统计. 优点是不需要自己做维护. 缺点是: 索引需要的存储空间更多; 因为一个用户的comment可能很多, 查询时间更长.
高性能MySQL第三章里推荐了 Mysql的物化视图的开源实现Flexviews(http://code.google.com/p/flexviews/). 楼主不妨试一下.