【发布时间】:2011-01-04 12:40:06
【问题描述】:
我了解到视图可用于创建自定义“表视图”(可以这么说),聚合来自多个表的相关数据。
我的问题是:视图的优点是什么?具体来说,假设我有两个表:
event | eid, typeid, name
eventtype | typeid, max_team_members
现在我创建一个视图:
eventdetails | event.eid, event.name, eventtype.max_team_members
| where event.typeid=eventtype.typeid
现在,如果我想为某些 event 设置团队中允许的最大成员数,我可以:
- 使用视图
- 执行连接查询(或存储过程)。
每种方法的优点/缺点是什么?
另一个查询:如果表事件和事件类型中的数据得到更新,更新视图中的数据是否有任何开销(考虑到它缓存结果数据)?
【问题讨论】:
标签: mysql stored-procedures views