Наконец закончил автошколу и получил права :) Очень этому рад, т.к. потребовало нелегких усилий. На экзамене ГАИ смог сдать круговой перекресток и гараж задним ходом. Данные упражнения были самими проблемными для меня.
В этой статье давайте рассмотрим три ключевых типа физических соединений, которые PostgreSQL использует при выполнении логических внешних и внутренних соединений, использующих оператор JOIN: Почему я начал с упоминания про деление на физические и логические соединения? Это разные уровни. Когда вы пишите SQL-запросы с применением LEFT OUTER JOIN или RIGHT JOIN, это логический уровень соединений. Как правило, использующийся для декартовых произведений, в которых остаются строки, удовлетворяющие условию самого соединения...
В статье, ниже, приведен пример SQL-кода (DDL + PL/pgSQL-функция по data seeding) с построением логической модели звезды в PostgreSQL. Современные хранилища данных, они же КХД (DWH, Data WareHouse), представляют из себя централизованное хранилище, где собираются данные из различных источников, далее они очищаются и структурируются для будущей аналитики, которая проводится в BI-системах (Apache Superset, Tableau, PowerBI и другие). Основной слой ядра (core layer) может быть основан на базе одной...
Сканирование по битовой карте (bitmap scan) - это один из методов поиска данных в PostgreSQL, который состоит из 2-ух основных вида узлов, которые можно увидеть при выводе древа плана, используя EXPLAIN ANALYZE VERBOSE: 1). bitmap index scan, первичное сканирование по индексу с построением битовой карты. Операция в данном узле, сама по себе, не извлекает данные. Она создает битовую карту с местоположением строк. Таких операций может быть несколько. 2). bitmap heap scan, финальная операция в узле...
work_mem - это важный параметр конфигурации в PostgreSQL, который определяет лимит, т.е. максимальный размер оперативной памяти (при нехватке может использоваться диск), выделенной для выполнения таких операций, как: Этот параметр влияет на эффективность выполнения запросов и общую производительность базы данных. Важно подметить, что work_mem выделяется на каждую операцию, а не на каждую сессию PostgreSQL. Это важная деталь, т.к. один SQL-запрос может выполнять несколько операций сортировок или операций по объединению, каждая из которых будет потреблять свою долю памяти...