我想测试查询性能。示例:
从vw_testrole中选择*。
vw_testrole角色-有很多连接。由于数据是缓存的,所以返回的时间更短。我希望看到查询计划,以及如何查看它或清除缓存,或者看到执行所需的原始时间。
谢了,习
发布于 2022-01-21 09:34:09
一些额外的信息,因为您计划做一些“性能测试”,以确定预期的执行时间的查询。
USE_CACHED_RESULT参数禁止使用缓存的查询结果。它不会删除现有的缓存。如果禁用它,您可以看到查询计划(如您所愿),并且每次都将执行查询,而不检查结果是否已经可用(因为以前运行了相同的查询)。但你应该知道雪花有多个缓存。
而且,运行以下命令不会禁用它:
ALTER SESSION UNSET USE_CACHED_RESULT=FALSE;
ALTER SESSION UNSET USE_CACHED_RESULT; 第一个会给你带来一个错误。最后一个错误不会给出一个错误,但是默认值是真,所以实际上,它启用了它。正确的命令是:
ALTER SESSION SET USE_CACHED_RESULT=FALSE;发布于 2022-01-20 21:33:03
可以通过设置ALTER SESSION UNSET USE_CACHED_RESULT;清除缓存。
要获得上一次查询Id的计划,可以在stmt下面使用:
select system$explain_plan_json(last_query_id()) as explain_plan;https://stackoverflow.com/questions/70793413
复制相似问题