概要
Snwoflakeにて、Snowflakeのキャッシュ機能を利用しないように設定する手順を紹介します。
他ツールからのパフォーマンス検証を実施するために実施しました。
本手順では、サーバーのパラメータを変更してしまうため、本番環境には設定しないように注意してください。
手順
1. 現在のキャッシュのパラメータ設定("USE_CACHED_RESULT")が、"true"となっていることを確認
SHOW PARAMETERS LIKE '%USE_CACHED_RESULT%'
参考リンク:パラメーター - USE_CACHED_RESULT
2. キャッシュのパラメータ設定("USE_CACHED_RESULT")の設定を、"false"に変更
use role accountadmin;
ALTER ACCOUNT SET USE_CACHED_RESULT = false;
3. 現在のキャッシュのパラメータ設定("USE_CACHED_RESULT")が、"false"となっていることを確認
SHOW PARAMETERS LIKE '%USE_CACHED_RESULT%'
設定の確認
"History"にて、設定前後に同じクエリを複数回実行することで、キャッシュを利用しているかを確認できます。
/* TPC_H Query 9 - Product Type Profit Measure */
USE "SNOWFLAKE_SAMPLE_DATA"."TPCH_SF10";
SELECT
nation
,o_year
,SUM(amount) AS sum_profit
FROM
(
SELECT
n_name AS nation
,YEAR(o_orderdate) AS o_year
,l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity AS amount
FROM
part
,supplier
,lineitem
,partsupp
,orders
,nation
WHERE
s_suppkey = l_suppkey
AND ps_suppkey = l_suppkey
AND ps_partkey = l_partkey
AND p_partkey = l_partkey
AND o_orderkey = l_orderkey
AND s_nationkey = n_nationkey
AND p_name LIKE '%green%'
) AS profit
GROUP BY
nation
,o_year
ORDER BY
nation
,o_year DESC
;