и посмотреть медиа
Data analysis - DA SQL
и посмотреть медиа
Data analysis: SQL, Python.
Data analysis: SQL, Python.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
About data analysis: databases, SQL, Python and more for analysts.
Материализованные и нематериализованные представления в 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 эти изменения будут учитываться во вьюхе.
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!