Комментарии 3
Вы когда картинки сериями из презентации дергаете, хотя бы ссылки на первоисточник оставляйте (pdf, транскрипт и видео).
Если ещё и реально выполняем запрос, то нужно понимать что ряд СУБД и, конечно, postgree кэшируют их выполнение. И, если второй раз вы выполните похожий запрос, то он может быть выполнен в разы быстрее, хотя, по факту, будет хуже.
Факт, что на винчестерах крупноблочные чтения по пропускной способности показывают значительно лучшие результаты, чем мелкоблочные, ввиду того, что приходится меньше двигать магнитными головками. И факт, что у SSD нет магнитных головок. Но есть кое-что другое. В результате разница в пропускной способности крупноблочных и мелкоблочных чтений ещё выше. Я провёл тесты на своих SSD со случайными чтениями 1M и 8K, пересчитал на мегабайты и был сильно удивлён. Но на своих SSD вы лучше попробуйте сами свои тесты.
С другой стороны, когда я на своей базе (Oracle) воспользовался вычисленными числами для настройки, я ещё раз удивился, весьма неприятно. Дело в том, что в той нагрузке, для которой я производил исследования, все данные уже легли в ОЗУ. И уведомление оптимизатора о факте, что крупноблочные чтения много выгоднее мелкоблочных, оказалось не только бесполезным, но даже вредным. Лишние фуллсканы в той обстановке, хотя не привели к лишним чтениям (ну, раз уже всё было прочитано), зато привели к лишней нагрузке на CPU.
POSTGRES EXPLAIN