Ответ
В контексте индексов баз данных базовой логической единицей хранения информации является страница (page) или блок (block).
- Страница — это фиксированный по размеру блок данных (например, 8 КБ, 16 КБ), который является минимальной единицей ввода-вывода для движка базы данных. Индексные структуры, такие как B-дерево, организованы именно в виде страниц.
- Каждая страница содержит множество записей индекса (index entries). Каждая запись обычно состоит из ключевого значения (или значений) и указателя на соответствующую строку данных (например, RID — Row Identifier).
Поэтому, когда говорят о размере индекса, часто имеют в виду количество занимаемых им страниц на диске.
Пример запроса для оценки размера индекса в PostgreSQL:
-- Показать размер индекса 'idx_user_email' в удобочитаемом формате
SELECT pg_size_pretty(pg_relation_size('idx_user_email')) AS index_size;
Этот запрос возвращает размер индекса в байтах, килобайтах, мегабайтах и т.д., что напрямую связано с количеством занятых страниц.