Ash*_*ary 5 sql performance join view
在我们的项目中,我们经常最终在3个表上编写复杂的连接.我们通过使用视图获得任何性能优势,还是仅仅是为了让查询编写者的生活更轻松?如果重要,我们使用MySQL.如果因此获得任何优势(当然,除了更简单的查询)请说明.
一般来说,与仅运行查询相比,普通视图不会提供太多的性能提升.但是,大多数数据库系统,包括MySql(我相信......自从我使用它以来已经有一段时间了)提供了某种索引或物化视图功能.通常,此类视图有相当多的限制可行,但一旦创建,后备查询的结果将缓存在物理表中(对于SQL Server索引视图,TempDB中的表).数据库服务器是然后负责跟踪对基础查询的更改,并更新缓存的副本.根据查询普通表的顺序,对这种索引/物化视图的查询通常要快得多.