Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: nonclustered, pointer, btree, lookup, separate structure

Как работают некластеризованные индексы?

Проверяет знание структуры индексов, хранящих указатели на данные отдельно от сортировки таблицы.

Короткий ответ

Некластеризованный индекс хранит ключи и указатели (row pointers) на физические строки данных в отдельной структуре. Данные в таблице не меняют своего порядка, а индекс указывает на места их хранения. При поиске СУБД сначала ищет ключ в индексе, а затем по указателю извлекает строку из таблицы.

Длинный ответ

Структура:

  • Отдельное сбалансированное дерево (B-tree).

  • Листовые узлы содержат ключ и адрес строки.

Поиск:

  • Сначала traverse-дерево по ключу.

  • Затем по адресу читается соответствующая строка.

Отличие от кластеризованного:

  • Таблица не физически упорядочена по индексу.

  • Может быть несколько некластеризованных индексов.

Преимущества и недостатки:

  • Быстрый поиск по разным ключам.

  • Двойное обращение к диску: сначала индекс, затем таблица.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Postgres

    Postgres

Ключевые слова

#nonclustered

#pointer

#btree

#lookup

#separate structure

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.