sql-server - SQL Server 中的常量函数(使用函数的慢 View )

标签 sql-server view

我编写了一个 View ,如果它的连接条件依赖于一个标量函数值。
查询计划保守地期望当函数不变时(至少对于每个完整查询),函数结果可能会在执行之间发生变化。结果每天更改一次左右。

由于行数庞大,查询计划效率低下。我需要一种让 SQL 服务器知道该值不会改变的方法。由于您无法在 View 中声明变量,因此我不确定如何解决该问题。也许查询提示或其他构造会起作用?

我们尝试编写一个表值函数,但似乎没有太大帮助。
这不是一个理想的解决方案,因为我宁愿使用普通 View 。

谢谢
问候
克雷格。

最佳答案

也许您应该考虑将“常量”放入单列表中,该表使用 scheduled stored procedure 定期更新。 .如果您在表列上定义了主键,那么查询计划应该可以正常工作。

关于sql-server - SQL Server 中的常量函数(使用函数的慢 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621672/

相关文章:

sql - alter table 然后在单个语句中更新

与原始查询相比,C# LINQ 查询创建低效的 SQL

c# - C#中的线程安全数据库访问

Django 如何将帖子分配给用户

sql - 编写 SQL Server 数据库中所有数据的脚本

sql - 存储过程 WHERE LIKE ID 或 NAME

android - 真实手机(Galaxy S2)和模拟器之间的按钮和 Edittext 样式不同

MySQL - 从 View 中选择或直接选择

java -/res/layout/main.xml描述的是一个View还是一个ViewGroup?

templates - 在 Backbone.js 中填充嵌套下划线模板