pyodbc - velocidade de inserção em massa muito lenta

Com esta tabela:

CREATE TABLE test_insert (
    col1 INT,
    col2 VARCHAR(10),
    col3 DATE
)

o código a seguir leva 40 segundos para ser executado:

import pyodbc

from datetime import date


conn = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};'
    'SERVER=localhost;DATABASE=test;UID=xxx;PWD=yyy')

rows = []
row = [1, 'abc', date.today()]
for i in range(10000):
    rows.append(row)

cursor = conn.cursor()
cursor.executemany('INSERT INTO test_insert VALUES (?, ?, ?)', rows)

conn.commit()

O código equivalente ao psycopg2 leva apenas 3 segundos. Eu não acho que o mssql seja muito mais lento que o postgresql. Alguma idéia de como melhorar a velocidade da inserção em massa ao usar pyodbc?

EDIT: Adicione algumas notas após a descoberta de ghoerz

No pyodbc, o fluxo deexecutemany é

prepare statement loop para cada conjunto de parâmetros vincule o conjunto de parâmetrosexecuta

No ceODBC, o fluxo deexecutemany é

prepare statementbind todos os parâmetrosexecuta