已关闭 。这个问题需要更加集中。它当前不接受答案。
想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。
4年前关闭。
如果您打算使用视图,那么如何确保良好的性能?
还是最好不要先使用视图,而只是将等效视图合并到您的select语句中?
这完全取决于您通过视图查看的内容。但最有可能减少您的精力并提供更高的性能。当SQL语句引用非索引视图时,解析器和查询优化器将分析SQL语句和视图的源,然后将它们解析为一个执行计划。SQL语句没有一个计划,而视图则没有一个单独的计划。
视图未编译 。它是由其他表组成的虚拟表。创建它时,它不会驻留在服务器上的某个位置。组成该视图的基础查询要获得与查询优化器相同的性能提升或改进。我从未在视图VS底层查询上测试过性能,但是我想性能可能会略有不同。如果数据是相对静态的,则可以在索引视图上获得更好的性能。这可能就是您在“编译”方面的想法。