Snowflake - Кэширование - Рабочая сессия
Janardhan Reddy Bandi
0:00 / 0:00
Snowflake - Кэширование - Рабочая сессия
16 717 просмотров · 3 г. назад
Janardhan Reddy Bandi
22,4 тыс. подписчиков
16 717 просмотров · 3 г. назад
В моем курсе на Udemy вы можете получить все видео, презентации, запросы, вопросы для собеседований и практические материалы по Snowflake по очень низкой цене. Я буду обновлять этот контент и загружать все новые видео в этот курс.
Мой курс Snowflake на Udemy:
https://www.udemy.com/course/snowflak...
Со мной можно связаться по адресу jana.snowflake2@gmail.com.
/ // Запуск с хранилищем X-Small или Small
// Выполните следующие запросы и понаблюдайте за профилем запроса
// Запрос получает результаты из уровня хранения (удаленный диск)
SELECT * FROM TPCH_SF1000.CUSTOMER; -- 2 мин 20 сек
// Получение информации о метаданных происходит очень быстро, посмотрите на профиль запроса
SELECT COUNT(*) FROM TPCH_SF1000.CUSTOMER; -- 70 мс
SELECT MIN(C_CUSTKEY) FROM TPCH_SF1000.CUSTOMER; -- 68 мс
SELECT MAX(C_CUSTKEY) FROM TPCH_SF1000.CUSTOMER; -- 64 мс
// Выполните тот же запрос еще раз и понаблюдайте за затраченным временем и профилем запроса
SELECT * FROM TPCH_SF1000.CUSTOMER; -- 113 мс
// Попробуйте получить те же данные, немного изменив запрос, и понаблюдайте за профилем запроса
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER; -- 53 сек
SELECT C_CUSTKEY, C_ADDRESS FROM TPCH_SF1000.CUSTOMER; -- 36 сек
SELECT C_ADDRESS, C_CUSTKEY FROM TPCH_SF1000.CUSTOMER; -- 32 сек
// Попытка получить подмножество данных с фильтром
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER
WHERE C_NATIONKEY in (1,2); -- 9.9 сек
====================================================================
// Отключить кэш результатов, приостановить виртуальную машину, выполнить те же запросы и посмотреть профиль запроса
ALTER SESSION SET USE_CACHED_RESULT = FALSE;
// В первый раз данные будут получены с удаленного диска
SELECT * FROM TPCH_SF1000.CUSTOMER; -- 2 мин 19 сек
// Выполните тот же запрос еще раз и понаблюдайте за затраченным временем и профилем запроса
SELECT * FROM TPCH_SF1000.CUSTOMER; -- 2 мин 15 сек
// Попробуйте получить те же данные, немного изменив запрос, и понаблюдайте за профилем запроса
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER; -- 53 сек
SELECT C_CUSTKEY, C_ADDRESS FROM TPCH_SF1000.CUSTOMER; -- 34 сек
SELECT C_ADDRESS, C_CUSTKEY FROM TPCH_SF1000.CUSTOMER; -- 34 сек
// Попытка получить подмножество данных с фильтром
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER
WHERE C_CUSTKEY LESS_THAN 200000; -- 750 мс
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER
WHERE C_NATIONKEY in (1,2,3,4,5); -- 12 сек
==================================================================
// Увеличьте размер VW до L или XL, выполните те же запросы и посмотрите профиль запроса
// В первый раз данные будут получены с удаленного диска
SELECT * FROM TPCH_SF1000.CUSTOMER; -- 13 сек
// Выполните тот же запрос еще раз и понаблюдайте за затраченным временем и профилем запроса
SELECT * FROM TPCH_SF1000.CUSTOMER; -- 14 сек
// Попробуйте получить те же данные, немного изменив запросы, и понаблюдайте за профилем запроса
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER; -- 4,8 сек
SELECT C_CUSTKEY, C_ADDRESS FROM TPCH_SF1000.CUSTOMER; -- 7,9 сек
SELECT C_ADDRESS, C_CUSTKEY FROM TPCH_SF1000.CUSTOMER; -- 3,4 сек
// Попытка получить подмножество данных с фильтром
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER
WHERE C_CUSTKEY LESS_THAN 200000; -- 891
SELECT C_CUSTKEY, C_NAME, C_ACCTBAL, C_ADDRESS FROM TPCH_SF1000.CUSTOMER
WHERE C_NATIONKEY in (1,2,3,4,5); -- 1,6 сек