Всем привет. Подскажите, почему PG ведет себя следующим образом. Есть таблица с 12кк записей. Если долго не обращаться к этой таблице, то первый запрос работатет очень долго (20-30 сек), при это explain analyze показывает, что используются идексы. А следующее обращение к этой таблице уже работает быстро, даже если изменить параметры для поиска (дальше все запросы по 100-200мс идут)
Всем привет. Подскажите, почему PG ведет себя следующим образом. Есть таблица с 12кк записей. Если долго не обращаться к этой таблице, то первый запрос работатет очень долго (20-30 сек), при это explain analyze показывает, что используются идексы. А следующее обращение к этой таблице уже работает быстро, даже если изменить параметры для поиска (дальше все запросы по 100-200мс идут)
30 секунд - это очень много для простой выборки. если сделать индекс, которорый позволит избежать сортировки и будет достоточно селективным, то не нужно все в кэш грузить
А Вы совету https://t.me/pgsql/238128 последовали (вообще в плане tuning, я имею в виду)? Вам вообще стоит разобраться, можно ли "горячие" данные как-то вместить в shared_buffers (либо увеличить их и выполнить прочий tuning, либо как-то избежать чтения каких-то данных).