Sql server 使用索引视图来封装较大查询的复杂性对性能是否合适?

Sql server 使用索引视图来封装较大查询的复杂性对性能是否合适?,sql-server,performance,tsql,indexed-view,Sql Server,Performance,Tsql,Indexed View,我正在创建一个基于视图框架的复杂查询系统 这样,编写高级查询非常容易 与不使用视图相比,当前的性能很差,但是使用索引视图是一种解决方案吗?如果我只为需要进行连接的字段创建聚集索引,这是一个解决方案吗 观点框架 如果您处于这项任务的早期阶段,那么我鼓励您放弃这种观点框架的想法。虽然它确实隐藏了很多复杂性,但在某种程度上只是以性能为代价。如果你有嵌套视图,你会有很多问题。转到任何SQL Server论坛,查找嵌套视图性能问题,您将看到问题所在 问题之一是一些谓词没有像在实际表上那样正确有效地向下推

我正在创建一个基于视图框架的复杂查询系统

这样,编写高级查询非常容易

与不使用视图相比,当前的性能很差,但是使用索引视图是一种解决方案吗?如果我只为需要进行连接的字段创建聚集索引,这是一个解决方案吗

观点框架

如果您处于这项任务的早期阶段,那么我鼓励您放弃这种观点框架的想法。虽然它确实隐藏了很多复杂性,但在某种程度上只是以性能为代价。如果你有嵌套视图,你会有很多问题。转到任何SQL Server论坛,查找嵌套视图性能问题,您将看到问题所在

问题之一是一些谓词没有像在实际表上那样正确有效地向下推

索引视图有效地解决了一些问题,但并非在所有情况下都是如此,而且有很多限制。如果读写比小于此值,则会出现更多性能问题。我曾在某些情况下有效地使用索引视图来显著降低IO(从数万个逻辑IO到一位数IO),但这些视图的读写比很高


所以你建议继续使用非常大的查询?是的。不要以查看大型查询为代价牺牲性能。好的格式将使您在这里走很长的路。