Перейти к содержимому

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 сек