mlzboy
mlzboy

Reputation: 14691

How to bulk insert data to mysql with python

Currently i'm using Alchemy as a ORM, and I look for a way to speed up my insert operation, I have bundle of XML files to import

for name in names:
    p=Product()
    p.name="xxx"
    session.commit()

i use above code to insert my data paser from batch xml file to mysql,it's very slow also i tried to

for name in names:
    p=Product()
    p.name="xxx"
session.commit()

but it seems didn't change anything

Upvotes: 0

Views: 2636

Answers (1)

EoghanM
EoghanM

Reputation: 26924

You could bypass the ORM for the insertion operation and use the SQL Expression generator instead.

Something like:

conn.execute(Product.insert(), [dict(name=name) for name in names])

That should create a single statement to do your inserting.

That example was taken from lower down the same page.

(I'd be interested to know what speedup you got from that)

Upvotes: 1

Related Questions