b), и мы делаем запрос по полю a (select * from table where table.a = 'dog'), то составной индекс в таком случае должен работать, потому что поле a базовое (первое), по которому строится индекс. Я проверял экспериментально, на одной базе индекс работал в таком случае, а на другой нет. Почему так происходит? ПГ в каких-то случаях решает не использовать индекс, даже если он есть и может использоваться?
explain и рассматривание cost хорошо помогает понять, что отличается
Обсуждают сегодня