Кластеризованный индекс определяет физический порядок строк на диске — таблица ЯВЛЯЕТСЯ конечным уровнем индекса, и в каждой таблице может быть только одна строка. Некластеризованный (вторичный) индекс — это отдельная структура, указывающая на хранилище таблицы, а в таблице их может быть много.
Пример
CREATE INDEX idx_orders_user_created ON orders (user_id, created_at DESC);
-- partial indexCREATE INDEX idx_users_active_email
ON users (email)
WHERE deleted_at ISNULL;
-- expression indexCREATE INDEX idx_users_lower_email ON users (LOWER(email));
-- JSONB GINCREATE INDEX idx_products_attrs ON products USING GIN (attrs);
Итог
Кластеризованный индекс определяет физический порядок строк на диске — таблица ЯВЛЯЕТСЯ конечным уровнем индекса, и в каждой таблице может быть только одна строка.
В чем разница между кластеризованным и некластеризованным индексом? · Sobeso