Можно помедитировать
над этой статьей.
Вообще - то что вам в этой конретной ситуации помог переход от множества мелких чекпойнтов к малому количеству больших чекпойнтов, говорит только о том, что для данного железа, данного софта и данного запроса это выгоднее. При этом не факт что другим пользователям в этот момент было так уж удобно работать. Чекпойнт, насколько я понимаю, блокирует на какие-то время многие процессы в системе, и хотя редкие чекпойнты экономят на дисковом обмене, они также снижают интерактивность системы в целом.
Ну то есть - я никогда с настройками checkpoint интервала не заморачивался. На мой взгляд - это имеет смысл только в том случае, если у вас на какое-то время резко меняется сценарий использования БД. Например - если у вас в конце месяца на выходных в БД заливается пара гигабайтов внешних данных, то есть смысл перед этой операции снизить частоту чекпойнтов, а в понедельник утром - вернуть назад в дефолтное значение (чтобы работа интерактивных пользователей не тормозила.