我编写了一个视图,如果它的连接条件依赖于一个标量函数值.
查询计划保守地期望当函数是常量时(至少对于每个完整查询),函数结果可以在执行之间改变.结果每天更改一次.
由于行数很多,查询计划效率低下.我需要一种让SQL服务器知道值不会改变的方法.由于您无法在视图中声明变量,因此我不确定如何解决问题.也许查询提示或其他构造可以工作?
我们尝试编写一个表值函数,这似乎没有显着帮助.
这不是一个理想的解决方案,因为我宁愿使用普通视图.
谢谢
问候
克雷格.
最佳答案 也许您应该考虑将“常量”放入单列表中,该表使用
scheduled stored procedure定期更新.如果您在表列上定义了主键,那么查询计划应该可以正常工作.