Объект cursor
не идеален для такого рода вещей, потому что он имеет один сеанс подключения и состояние, и поэтому вы не можете осмысленно делиться им между потоками или процессами, только итерируйте его (как вы делаете в понимание).
У Dask есть read_sql_table
для этого вида работ, который, как следует из названия, предназначен для загрузки из таблиц, а не обобщенных запросов.
Вас также может заинтересовать потребление-sql , которое включает в себя плагины как для вышеупомянутой функции, так и для общего запроса, в котором вы заранее знаете, как инструкции WHERE создавать разделы. Это в контексте проекта Intake , который позволяет кодировать спецификацию загрузки данных в каталоги источников данных.