摄影网站备案,wordpress多条件搜索插件,网站开发大学有哪些,怎么做才能让网站人气提升为什么启用物化视图、缓存视图这里就不过多解释了。
参考官方文章#xff1a;
Static Result Cache | SAP Help Portal
在 HANA中#xff0c;视图的缓存分 静态结果缓存 和 动态结果缓存。
静态结果缓存和动态结果缓存是缓存查询结果以获得性能优势的可配置应用程序。 缓…为什么启用物化视图、缓存视图这里就不过多解释了。
参考官方文章
Static Result Cache | SAP Help Portal
在 HANA中视图的缓存分 静态结果缓存 和 动态结果缓存。
静态结果缓存和动态结果缓存是缓存查询结果以获得性能优势的可配置应用程序。 缓存在SAP HANA中被广泛用作一种策略通过重新使用查询的数据来提高性能而不是每次请求数据时都重新读取和处理数据。静态结果缓存有时称为缓存视图和动态结果缓存就是这方面的应用。静态结果缓存是为特定视图创建的在用户定义的保留期内保持有效。动态结果缓存是类似的但没有保留期它通过维护应用于基础表的所有更改的增量记录来保证事务一致性。 1、创建静态结果缓存聚合OF子句 对于SQL视图/函数您可以将聚合类型明确声明为ADD缓存子句的一部分然后将在视图定义的顶部使用额外的聚合操作来定义缓存。以下示例显示了这一点该示例创建了一个视图然后使用alter view 语法将该视图添加到缓存中保留期为120分钟。
CREATE VIEW SIMPLE_VIEW AS
(SELECT A, SUM(KF1) AS KF1, MIN(KF2) AS KF2, MAX(KF3) AS KF3
FROM SIMPLE_TABLE GROUP BY A)
ALTER VIEW SIMPLE_VIEW ADD CACHE RETENTION 120 OF A, SUM(KF1), MIN(KF2), MAX(KF3), KF4;
缓存内容将根据查询结果创建SELECT ASUMKF1MINKF2MAXKF3from SIMPLE_VIEW GROUP BY A 在下面的示例查询中前两个语句一致地使用与查询中定义的聚合值相同的聚合值并且可以利用缓存。第三个示例无法使用缓存的数据因为它请求未包含在缓存中的未聚合详细信息
SELECT SUM(KF1) FROM SIMPLE_VIEW WITH HINT(RESULT_CACHE);SELECT SUM(KF1), MIN(KF2), MAX(KF3) FROM SIMPLE_VIEW GROUP BY A WITH HINT(RESULT_CACHE);/* only aggregated data is cached - cannot use the cached data*/
SELECT KF1, KF2, KF3 FROM SIMPLE_VIEW WITH HINT(RESULT_CACHE); 如果用户没有在ALTER VIEW语句中声明聚合选项则缓存的定义将与视图定义相同:
ALTER VIEW SIMPLE_VIEW ADD CACHE RETENTION 120;
2、过滤器FILTER子句 此示例说明了筛选。如果用户声明了附加筛选器选项则将使用视图定义顶部的附加筛选器来定义缓存
ALTER VIEW SIMPLE_VIEW ADD CACHE RETENTION 120 FILTER B 3;
缓存内容将根据查询结果创建SELECT*from SIMPLE_VIEW WHERE B3 在下面的示例查询中前两条语句将利用缓存因为这些查询只需要缓存数据B3。第三个示例无法使用缓存数据因为查询请求的数据不是缓存数据的一部分。
SELECT SUM(KF1) FROM SIMPLE_VIEW WHERE B 3 AND B 10 WITH HINT(RESULT_CACHE);SELECT SUM(KF1) FROM SIMPLE_VIEW WHERE B 3 AND A 1 WITH HINT(RESULT_CACHE);/* only B 3 data is cached - cannot use the cached data*/
SELECT KF1, KF2, KF3 FROM SIMPLE_VIEW WHERE A 1 WITH HINT(RESULT_CACHE); 启用结果缓存的提示
静态结果缓存功能在默认情况下是禁用的只有在SQL语句中使用以下result_cache提示之一显式调用时才会考虑 Parameter Detail HINT(RESULT_CACHE) Always use the result cache if it is available. 如果结果缓存可用请始终使用它。 HINT(RESULT_CACHE_MAX_LAG(seconds)) Sets the retention period of the result cache to this value (or the value set in the ADD CACHE configuration). 将结果缓存的保留期设置为此值或ADD cache配置中设置的值。 HINT(RESULT_CACHE_NON_TRANSACTIONAL) Allows join or union operations using the result cache entries and disregards possible transaction inconsistencies. 允许使用结果缓存项进行联接或并集操作并忽略可能的事务不一致。 HINT(RESULT_CACHE_NO_REFRESH) Access existing cached data without refreshing it even if its retention period is over. 即使已过保留期也无需刷新即可访问现有缓存数据。