扫码关注官方订阅号
在代码模型层中建视图模型好还是在数据库中建视图好?
业精于勤,荒于嬉;行成于思,毁于随。
模型中比较好
看需求和团队,如果有dba的话会让这个过程在数据库更加舒服,因为中间抽象了一层逻辑,如果设计得好的话可以提高重用性
比较一下就知道了在model层做视图开发人员可以直观的了解视图,并可以根据需求随时修改在数据库做视图则简化了业务逻辑,但是视图的维护需要花费额外的人力
其实就像是model有afterSave beforeSave之类的钩子,数据库也有触发器,哪个好?差不多,前者一样是透明,好维护,后者则简化逻辑,同时效率更高。
此外要考虑你使用的数据库,oracle,sqlserver等数据库的视图数据是缓存的,从视图查询比使用表连接查询要快的多,但是mysql的视图数据是非缓存的,并没有性能的提升。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
模型中比较好
看需求和团队,如果有dba的话会让这个过程在数据库更加舒服,因为中间抽象了一层逻辑,如果设计得好的话可以提高重用性
比较一下就知道了
在model层做视图开发人员可以直观的了解视图,并可以根据需求随时修改
在数据库做视图则简化了业务逻辑,但是视图的维护需要花费额外的人力
其实就像是model有afterSave beforeSave之类的钩子,数据库也有触发器,哪个好?差不多,前者一样是透明,好维护,后者则简化逻辑,同时效率更高。
此外要考虑你使用的数据库,oracle,sqlserver等数据库的视图数据是缓存的,从视图查询比使用表连接查询要快的多,但是mysql的视图数据是非缓存的,并没有性能的提升。