hyz23je 2022-06-16 15:54 采纳率: 93.8%
浏览 21
已结题

mysql中多表视图性能疑惑

是这样的,有一个项目,数据库用的是mysql.然后项目中有很多个给用户的功能,比如说,用户可以创建一个抽奖功能,也可以创建一个刮刮卡功能,等等,每个功能在数据库中都使用一张表作为对应。
现在考虑到的问题是这样的:
现在只有抽奖和刮刮卡两个功能,所以当我们要在查某个用户创建了什么功能,创建时间是什么时候,我们只要对用户记录表和抽奖功能表或者用户记录表和刮刮卡功能表进行关联查询就可以了。但是之后还要再加功能比如加转盘功能之类,并且会越来越多。大概会有50多个吧
而我们要的就是想知道用户创建了什么功能,什么时候创建的这点数据而已(创建功能的时间保存在对应的功能表中)。所以我就想能不能弄成一个视图,把用户记录表和对应的功能表的时间创建放到一张视图里面去,这样以后就直接修改一下语句让视图显示新加进来的功能就可以了。对了,创建的视图只作查询用,不做插入和更新数据和删除数据。但是考虑到会关联那么多表在视图中,会不会有性能问题?

  • 写回答

1条回答 默认 最新

  • 葛芮拉 2022-06-16 16:42
    关注

    当然不建议这么做,随着功能的增多,性能是一方面,每次增加功能都要去重新修改视图;
    通常的办法是在功能表里扩展个字段去记录创建时间,楼主没有选择这种方案可能是由于各种原因不能改程序,那可以考虑下在数据库中写个定时任务,从其他表同步时间,这种方式需要考虑下数据实时性是否满足用户需求

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月25日
  • 已采纳回答 6月17日
  • 创建了问题 6月16日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度