У меня есть миллионы записей в базе данных, и я хочу прочитать их через Python и сохранить в фрейме данных pandas. Проблема в том, что время обработки запроса на выбор очень велико. Чтобы сократить время обработки запроса, я пытаюсь выполнить многопоточность, я создал 3 потока и выполняю запрос на основе каждого потока, например

Select * from ( select *,rownum over (order by col1) rn from table) where rn%3=0 


Select * from ( select *,rownum over (order by col1) rn from table) where rn%3=1


Select * from ( select *,rownum over (order by col1) rn from table) where rn%3=2

Затем я выполняю каждый запрос с многопоточностью в Python путем создания многопоточности.

Но это также не сильно сокращает время

Есть ли другой подход, который я могу использовать, чтобы сократить время чтения запроса. Примечание. Я использовал оба соединения: jdbc и odbc.

0
rishi kumar agarwal 31 Май 2019 в 08:03

2 ответа

Лучший ответ

Ссылка ниже помогла мне Многопроцессорная обработка с подключением JDBC и пулами Я могу получить около 25% прибыли на своем местном.машинах.

0
rishi kumar agarwal 1 Июн 2019 в 19:19

Вы можете использовать многопоточность, только если базовый механизм базы данных поддерживает это. Вы должны проверить это. По вашему вопросу, я думаю, что прилагаемая ссылка поможет вам: увидеть это Если ответ поможет вам, помогите сообществу, выбрав его как лучший ответ.

0
hitesh kaushik 31 Май 2019 в 06:09