Обычный
EXPLAIN ANALYZE показывает время выполнения, но почти ничего не говорит о том, сколько данных было прочитано с диска и из памяти.EXPLAIN (ANALYZE, BUFFERS)
SELECT ...
Опция
BUFFERS добавляет статистику по страницам памяти:shared hit — страницы найдены в PostgreSQL shared buffers.shared read — страницы пришлось загрузить в shared buffers; это может быть физический диск или OS page cache.Buffers: shared hit=15000 read=2
Такой запрос почти полностью работает из памяти, что хорошо.
А здесь видно узкое место: запрос массово читает диск, даже если по времени более менее.
Buffers: shared hit=10 read=15000
🔥 Два запроса с одинаковым
execution time могут иметь абсолютно разную нагрузку на систему.➡️ SQL Ready | #совет
