Индексы в PostgreSQL

В нашем техническом блоге на www.habrahabr.ru свыше трех десятков статей о СУБД PostgreSQL, написанных сотрудниками компании Postgres Professional для всех тех пользователей, администраторов СУБД, разработчиков приложений и систем, которые хотят расширить свои знания о СУБД PostgreSQL и о базах данных вообще. Недавно руководитель образовательных программ нашей компании Егор Рогов опубликовал пятую часть в цикле статей об “Индексах в PostgreSQL”. С момента открытия этого цикла, статьи Егора Рогова были прочитаны более 60 тысяч раз, и весь цикл пользуется неизменным интересом со стороны разработчиков и администраторов СУБД.

Индексы в PostgreSQL — часть 1

В этой серии статей речь пойдет об индексах в PostgreSQL.

Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.

читать статью полностью »

Индексы в PostgreSQL — часть 2

В первой части мы говорили о том, что метод доступа должен предоставлять информацию о себе. Посмотрим, как устроен этот интерфейс.

Все свойства методов доступа представлены в таблице pg_am (am — access method). Из этой таблицы можно получить и сам список доступных методов: btree, hash, gist, gin, spgist, brin

Хотя к методам доступа можно с полным правом отнести и последовательное сканирование, исторически сложилось так, что оно отсутствует в этом списке.

читать статью полностью »

Индексы в PostgreSQL — часть 3

В первой статье мы рассмотрели механизм индексирования PostgreSQL, во второй — интерфейс методов доступа, и теперь готовы к разговору о конкретных типах индексов. Начнем с хеш-индекса.

Многие современные языки программирования включают хеш-таблицы в качестве базового типа данных. Внешне это выглядит, как обычный массив, но в качестве индекса используется не целое число, а любой тип данных (например, строка). Хеш-индекс в PostgreSQL устроен похожим образом. Как это работает?

читать статью полностью »

Индексы в PostgreSQL — часть 4

Мы уже рассмотрели механизм индексирования PostgreSQL и интерфейс методов доступа, а также один из методов доступа — хеш-индекс. Сейчас поговорим о самом традиционном и используемом индексе — B-дереве. Глава получилась большой, запасайтесь терпением.

Индекс btree, он же B-дерево, пригоден для данных, которые можно отсортировать. Иными словами, для типа данных должны быть определены операторы «больше», «больше или равно», «меньше», «меньше или равно» и «равно». Заметьте, что одни и те же данные иногда можно сортировать разными способами, что возвращает нас к концепции семейства операторов.

читать статью полностью »

Индексы в PostgreSQL — часть 5

GiST — сокращение от «generalized search tree». Это сбалансированное дерево поиска, точно так же, как и рассмотренный ранее b-tree.

В чем же разница? Индекс b-tree жестко привязан к семантике сравнения: поддержка операторов «больше», «меньше», «равно» — это все, на что он способен (зато способен очень хорошо!). Но в современных базах хранятся и такие типы данных, для которых эти операторы просто не имеют смысла: геоданные, текстовые документы, картинки…

читать статью полностью »

На пятой части цикл статей об индексах в СУБД PostgreSQL не заканчивается и уже сейчас Егор Рогов пишет продолжение.

Postgres Professional

российский вендор PostgreSQL, предлагает бизнесу и государственным структурам альтернативу коммерческим СУБД —  www.POSTGRESPRO.ru

Postgres Professional

Written by

Postgres Professional

российский вендор PostgreSQL, предлагает бизнесу и государственным структурам альтернативу коммерческим СУБД —  www.POSTGRESPRO.ru

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade