title

text

Bruce Momjian
Bruce Momjian EnterpriseDB Senior Database Architect
10:50 04 апреля
45 мин

Beyond Joins and Indexes

My presentation "Explaining the Postgres Query Optimizer" covers the details of query optimization, optimizer statistics, joins, and indexes. This talk covers 40 other operations the optimizer can choose to handle complex queries, large data sets, and to enhance performance. These include merge append, gather, memoize, and hash aggregate. It explains their purpose and shows queries that can generate these operations.

This is a new talk; draft slides are at https://momjian.us/main/writings/pgsql/beyond.pdf

Слайды

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    22 мин

    ORM LinqToDb: используем возможности Postgres по максимуму

    ORM-библиотеки широко используются при разработке бэкенда – примем это как данность. ORM-библиотеки совершенствуются, разработчики учатся на своих и чужих ошибках, и многие научились писать код для ORM, генерирующий вполне оптимальные запросы для типовых операций. Но есть ещё одна проблема ORM – ограниченность инструментов. Особенно это актуально для Postgres, имеющего массу операторов и конструкций (как в ядре, так и в расширениях), выходящих за рамки стандарта SQL.

    ORM-библиотека LinqToDb имеет важную особенность: она позволяет очень просто (буквально в одну строку) писать расширения, реализующие любой SQL-оператор или конструкцию. Полнотекстовый поиск, KNN, CTE (в том числе рекурсивные), работа с массивами и jsonb, array_agg и jsonb_object_agg, табличные функции и LATERAL JOIN – всё это без труда можно использовать в ORM, что я и продемонстрирую в данном докладе!

  • Christopher Travers
    Christopher Travers Independent Community Member Principal Engineer
    45 мин

    PostgreSQL vs Redis: Making the Right Choice

    With the rise of NoSQL databases, a number of falsehoods have flourished regarding how to choose a database engine. This talk focuses specifically on Redis and PostgreSQL, and why one might choose one or the other.

    At small scales, we can often get by thinking of database servers as black boxes, but as we scale, the internals and architecture become more and more important. This talk focuses on behavior of these systems at scale and under load.

    In this presentation you will learn:

    • How Redis and PostgreSQL differ architecturally
    • How differences in architecture affect scalability and performance
    • Cases here Redis is the clear winner
    • Cases where PostgreSQL is the clear winner

    Additionally, some notes will be offered in terms of where PostgreSQL can improve in to compete with the sorts of workloads that generally favor Redis.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Новые версии UUID

    Генерация первичных ключей - старая задача, довольно неплохо решаемая последовательностям, но, к сожалению, не идеально. Возникают проблемы с распределенной генерацией, действительной уникальностью и предсказуемостью. UUID изначально почему-то не предполагался для использования в качестве ключа СУБД, но новые версии (6,7 и 8) позволяют довольно удобно использовать их в качестве как для синтетических, так и для естественных ключей.

  • Сергей Мокеев
    Сергей Мокеев Maxim Technology Технический директор
    45 мин

    pgCodeKeeper - инструмент для организации современного процесса разработки БД

    Современные языки программирования “из коробки” предоставляют удобные средства по организации процесса разработки, тестирования и доставки изменений. Но как быть если хочется тех же возможностей при разработке структуры БД и кода хранимых процедур и функций?

    В докладе я расскажу о созданном нами инструменте для работы с кодом внутри БД. И как на его основе мы организовали процессы разработки баз данных с автоматическим тестированием и автоматической доставкой изменений на боевые экземпляры баз данных.