首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缓存单个查询的函数返回值

如何缓存单个查询的函数返回值
EN

Stack Overflow用户
提问于 2018-05-05 08:08:01
回答 1查看 247关注 0票数 0

我想在我的单个查询中使用getdate()函数3-4次进行验证检查。但是我希望,每次我期望在一个查询执行中获得当前的日期时,在所有3-4个位置上都会得到相同的日期。从技术上讲,计算机速度快到99.9%,在查询的所有地方我都会得到相同的日期时间。但从理论上讲,它可能会导致错误。因此,如何通过调用getdate一次来缓存getdate,并在查询中使用缓存的值。

但是,补充一下,我想在check约束中写这样的语句,所以我不能声明局部变量或任何类似的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-05 11:02:04

Server具有运行时常量函数的概念.描述这些问题的最好方法是,执行引擎首先从查询计划中提取函数引用,并在每个查询中执行每个函数一次。

注意,函数引用似乎是基于列的。因此,不同的列可以有不同的值,但是不同的行应该在列中具有相同的值。

这类中最常见的两个函数是getdate()rand()。具有讽刺意味的是,我发现这对于getdate()是一件好事,但对rand()却是一件坏事(什么样的随机数生成器总是返回相同的值?)

由于某些原因,我找不到运行时常量函数的实际文档。但这里有一些受人尊敬的博客文章解释了这件事:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50187207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档