Power BI Premium 或 Power BI Embedded 中的查询缓存

具有 Power BI Premium 或 Power BI Embedded 的组织可以利用 查询缓存 来加快与语义模型关联的报表的速度。 查询缓存指示 Power BI Premium 或 Power BI Embedded 容量使用其本地缓存服务来维护查询结果,避免基础数据源计算这些结果。

重要

查询缓存仅适用于 Power BI Premium 或 Power BI Embedded,适用于导入语义模型。 它不适用于使用 Azure Analysis Services 或 SQL Server Analysis Services 的 DirectQuery 或 LiveConnect 语义模型。

用户首次打开报表时,将执行缓存。 该服务仅对用户登陆的初始页面进行查询缓存。 换句话说,当您与报表交互时,不会缓存查询。 缓存的查询结果特定于用户和语义模型上下文,并且始终遵循安全规则。 查询缓存遵循 个人书签持久性筛选器,因此会缓存个性化报表生成的查询。 缓存查询后,由同一查询提供支持的仪表板磁贴也会受益。 当经常访问语义模型且不需要经常刷新时,性能尤其有利。 查询缓存还可以通过减少查询总数来减少容量上的负载。

可在 Power BI 服务中语义模型的 “设置” 页上控制查询缓存行为。 它有三个可能的设置:

  • 容量默认值:查询缓存关闭
  • 关闭:不要为此语义模型使用查询缓存。
  • 打开:对此语义模型使用查询缓存。

“查询缓存”对话框

ClientCacheRefreshPolicy

ClientCacheRefreshPolicy 是基于 XMLA 的 Analysis Services 服务器属性。 此设置将覆盖工作区中所有语义模型的计划缓存刷新设置。

可以通过打开切换到“观察基于 XMLA 的工作区设置”来为单个工作区配置 ClientCacheRefreshPolicy 。 若要启用它,请在“管理门户”下的“容量设置”页中导航到 Power BI 工作负载。 此设置有两个可能的值:

  • 0:阻止所有后台缓存刷新
  • -1 (默认值):允许在模型的计划缓存刷新设置中指定的所有后台缓存刷新。

注意事项和限制

  • 将缓存设置从 “打开” 更改为 “关闭”时,语义模型的所有以前保存的查询结果都将从容量缓存中删除。 可以显式关闭缓存,也可以还原为管理员设置为 “关闭”的容量默认设置。 关闭它可以在下次针对此语义模型运行查询时引入一个小延迟。 延迟是由按需运行的报表查询引起的,而不是应用保存的结果。 此外,可能需要将所需的语义模型加载到内存中,然后才能为查询提供服务。
  • Power BI 执行语义模型刷新时,将刷新查询缓存。 刷新查询缓存后,Power BI 必须针对基础数据模型运行查询以获取最新结果。 如果大量语义模型启用了查询缓存,并且高级/嵌入式容量负载过大,则缓存刷新期间可能会出现一些性能下降。 执行查询量增加导致降级。
  • ClientCacheRefreshPolicy 清除查询缓存,并且仅在数据刷新后避免主动缓存。 但是,容量会随着时间推移生成其仪表板和磁贴缓存,直到下次刷新。
  • XMLA 终结点执行的刷新作或增强的刷新 Power BI REST API 不会自动刷新查询缓存。 ClientCacheRefreshPolicy 仅当 Power BI 服务执行刷新(例如,计划刷新或按需刷新)时适用。