У нас есть некоторые sql-запросы, которые выполняются редко.
При первом запуске через некоторое время они занимают около 2 минут, второй вызов занимает всего 800 мс.
Я узнал, что когда я перезапускаю postgres, запросы все еще работают быстро. Только когда я очищаю кеш inode с помощью
echo 3 > /proc/sys/vm/drop_caches
запрос снова медленный. Итак, я начал наблюдать, какие файлы загружаются во время запроса:
inotifywait -mr ~postgres/data/*
который входит в первый раз несколько раз:
/var/lib/pgsql/data/base/16414/ ACCESS 119232
это файл размером 1 ГБ:
-rwxr-xr-x 1 postgres postgres 1,0G 22. Mär 09:53 /var/lib/pgsql/data/base/16414/119232
я полагаю, это файл, который содержит индекс таблицы
Это возможно