Когда вы создаёте индекс командой CREATE INDEX, база молча строит внутри себя отдельную структуру данных — B-дерево. Большинство разработчиков пользуются им годами, ни разу не заглянув внутрь, и удивляются, когда индекс «не помогает»: запрос с двумя условиями всё равно сканирует таблицу, а LIKE '%слово%' не ускоряется вообще. Причина не в том, что индекс сломан, а в том, что B-дерево спроектировано для одной конкретной задачи и за её пределами не работает, как бы вы его ни настраивали.
Подробнее →