一尘不染

如何启用 SQL Server 2019 的结果集缓存?

sql-server

SQL Server 2019 CTP 2.3 向 sys.databases 添加了几个新列,包括 is_result_set_caching_on:

系统数据库

SQL Server 2019 的新增功能ALTER DATABASE 页面中都没有记录它。

我尝试使用与加速数据库恢复相同的语法只是为了笑:

ALTER DATABASE StackOverflow2013 SET RESULT_SET_CACHING ON;

但没有运气:

Msg 5058, Level 16, State 12, Line 8
Option 'RESULT_SET_CACHING' cannot be set in database 'StackOverflow2013'.

阅读 152

收藏
2022-11-24

共1个答案

一尘不染

这是仅在 Azure Synapse Analytics 中可用的功能。

当您使用 创建数据库时CREATE DATABASE DBName (EDITION = 'DataWarehouse'),您将能够使用ALTER DATABASE DBName SET RESULT_SET_CACHING ON.

引自Azure Synapse Analytics 发行说明

当启用结果集缓存时,查询结果会自动缓存在用户数据库中以供重复使用。这允许后续查询执行直接从持久缓存中获取结果,因此不需要重新计算。结果集缓存提高了查询性能并减少了计算资源的使用。此外,使用缓存结果集的查询不使用任何并发槽,因此不计入现有的并发限制。为了安全起见,用户只有在拥有与创建缓存结果的用户相同的数据访问权限的情况下才能访问缓存结果。

2022-11-24