Я пытаюсь написать скрипт Python для чтения данных запроса из моей базы данных в кадры данных pandas.
Я значительно упростил код, чтобы проверить эффективность использования многопроцессорной библиотеки для параллельного выполнения запросов, поскольку выполнение запроса, включая всю информацию, которую я хочу собрать, занимает несколько минут.
Однако использование пула из многопроцессорной среды не является наиболее эффективным.(На самом деле никакой разницы в производительности не возникало при запуске скрипта).Есть ли более эффективный подход для одновременного выполнения запросов в PostgreSQL?
Любой совет будет потрясающим!
import psycopg2
import pandas as pd
import sqlalchemy as sa
from multiprocessing import Pool
engine = sa.create_engine("<database info>")
def run_query(query):
print(query)
data_frame = pd.read_sql_query(query, engine)
if __name__ == '__main__':
pool = Pool(processes=len(queries))
pool.map(run_query, queries)