и посмотреть медиа
Data analysis - DA SQL
и посмотреть медиа
Анализ данных: SQL, Python.
Анализ данных: SQL, Python.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Про анализ данных: базы данных, SQL, Python и другое для аналитиков.
Материализованные и нематериализованные представления в SQL В дополнение к посту про представления (view). Если кратко: через CREATE VIEW можно сохранить SQL-запрос в базе данных и потом выполнять этот сохраненный запрос через SELECT * FROM view... Описанный ранее тип представлений является нематериализованным: то есть мы сохраняем запрос, потом его вызываем, и он начинает отрабатываться с самого начала, беря данные из тех таблиц, на основе которых он написан. Это, безусловно, экономит память, но занимает время на выполнение этого запроса. При этом можно не беспокоиться об актуальности данных при обращении к таким view, т.к. из-за того, что это SQL-запрос, данные в нематериализованном представлении по умолчанию соответствуют данным в "базисных" таблицах. Материализованные представления имеют другой принцип: результаты запроса сохраняются. Соответственно, тут все наоборот: доступ к данным получается быстрее, но занимается лишнее место в памяти и нужно беспокоиться о том, чтоб поддерживать данные в актуальном состоянии. Материализованные представления создаются таким образом: CREATE MATERIALIZED VIEW sales_by_region_mv AS SELECT * FROM sales WHERE region = 'South'; SELECT * FROM sales_by_region_mv После выполнения запроса из таблицы sales по условию region = 'South' выберутся данные и сохранятся в бд во вью sales_by_region_mv. В конце view непосредственно вызывается и выводится результат. Вью будет доступна даже после удаления базовой таблицы, но в таком случае актуализировать данные в ней уже не получится. Самая насущная проблема для материализованных представлений - это вопрос о поддержании актуальности данных. Обновление view (на примере oracle) происходит следующим образом: BEGIN DBMS_MVIEW.REFRESH('m_view_name'); END; Или так: EXEC DBMS_MVIEW.REFRESH('m_view_name'); То есть если в базовую таблицу были внесены данные, которые влияют на результат выполнения SQL-запроса для материализованной вью, то после REFRESH эти изменения будут учитываться во вьюхе.
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!