Я нахожусь в процессе перехода от mysql к postgres.У меня были некоторые функции, написанные на python с использованием sqlalchemy для записи данных из pandas dataframes в мою базу данных.Когда я впервые начал миграцию, я использовал блокнот Jupyter, чтобы поиграть и получить правильный код.После этого я скопировал свой код в свое решение в Visual Studio для запуска моего нового кода.
Удивительно, но я обнаружил, что при запуске VS функция .to_sql была намного медленнее, чем в моем блокноте Jupyter,Кто-нибудь знает, почему?Это точно такой же код, и он прекрасно работает в ноутбуке Jupyter (так же, как и с моей старой базой данных myslq), но он намного медленнее работает из-за VS.Просто чтобы дать вам представление о том, что запись кадра данных в ~ 1000 строк в базу данных postgres занимает около 2 минут.Слишком долго.При записи 1000 строк из записной книжки Jupyter это занимает ~ 4 секунды, что вполне соответствует тому, что было раньше в Mysql.
Это довольно простой прямой вызов:
df.to_sql (name = 'foo', схема = 'bar', con = engine, if_exists = 'append', index = False, chunksize= 10000)
Использование движка sqlalchemy с psycopg2 в качестве драйвера (drivername = 'postgresql + psycopg2').Есть идеи?