← Все новости
Ускорение планирования запросов с ANY — до 280 раз быстрее

Ускорение планирования запросов с ANY — до 280 раз быстрее

Когда речь заходит об оптимизации запросов в PostgreSQL, разработчики, как правило, сосредотачиваются на времени выполнения: индексы, планы запросов, настройки памяти и так далее. Время планирования остаётся в тени. А зря! Планировщик работает перед каждым выполнением запроса. Для OLTP-нагрузки с короткими транзакциями накладные расходы на планирование могут составлять значительную долю от общего времени ответа. Для запросов с большими IN-списками и высоким statistics_target планирование может занимать сотни миллисекунд, тогда как само выполнение укладывается в миллисекунды. Именно поэтому ускорение планировщика не менее важно, чем ускорение выполнения. Эта статья - о том, как мы нашли и устранили одну из таких скрытых проблем. Читать далее