Gravar DataFrames grandes do Pandas no banco de dados do SQL Server

Tenho 74 DataFrames relativamente grandes do Pandas (cerca de 34.600 linhas e 8 colunas) que estou tentando inserir em um banco de dados do SQL Server o mais rápido possível. Depois de fazer algumas pesquisas, aprendi que o bom olepandas.to_sql A função não é boa para inserções tão grandes em um banco de dados do SQL Server, que foi a abordagem inicial que tomei (muito lenta - quase uma hora para o aplicativo ser concluído em cerca de 4 minutos ao usar o banco de dados mysql).

Este artigo, e muitas outras postagens do StackOverflow foram úteis para me apontar na direção certa, mas encontrei um obstáculo:

Estou tentando usar o Core do SQLAlchemy em vez do ORM pelos motivos explicados no link acima. Então, estou convertendo o quadro de dados em um dicionário, usandopandas.to_dict e depois fazendo umexecute() einsert():

self._session_factory.engine.execute(
    TimeSeriesResultValues.__table__.insert(),
    data)
# 'data' is a list of dictionaries.

O problema é que a inserção não está recebendo nenhum valor - eles aparecem como um monte de parênteses vazios e eu recebo este erro:

(pyodbc.IntegretyError) ('23000', "[23000] [FreeTDS][SQL Server]Cannot
insert the value NULL into the column...

Existem valores na lista de dicionários que eu passei, então não consigo descobrir por que os valores não estão aparecendo.

EDITAR:

Aqui está o exemplo do qual estou saindo:

def test_sqlalchemy_core(n=100000):
    init_sqlalchemy()
    t0 = time.time()
    engine.execute(
        Customer.__table__.insert(),
        [{"name": 'NAME ' + str(i)} for i in range(n)]
    )
    print("SQLAlchemy Core: Total time for " + str(n) +
        " records " + str(time.time() - t0) + " secs")

questionAnswers(1)

yourAnswerToTheQuestion