Я наблюдал, что мои запросы никогда не выполнялись параллельно сервером PostgreSQL. Если я выполняю тот же запрос с помощью pgAdmin, Heidi и т. Д., Он выполняется указанным числом параллельных рабочих процессов.
Но, похоже, нет параметра jdbc для включения или отключения этого поведения.
Кто-нибудь знает решение для этого?
В качестве примера я использую 3 таблицы: файл, gps и ячейка (информация). Запрос, который я использую, вынуждает Postgres использовать последовательное сканирование, и один из них параллельный.
select lon,lat,level
from t_qd_state_cell tc
join t_qd_state_gps tp on tp.id_state=tc.id_state
join t_qb_file tf on tf.id = tc.id_file
where lon is not null
and level is not null
and tf.id>6000000
Соответствующий план запроса можно найти здесь:
При запуске из pgAdmin параллельное выполнение может отслеживаться с использованием состояния сервера или htop. Но из программ Java есть только один процесс.