I'm working with the MySQLdb module in Python to interact with a database. I have a situation where there is a very large list (tens of thousands of elements) which I need to insert as rows into a table.html
My solution right now is to generate a large INSERT
statement as a string and execute it.mysql
Is there a smarter way?sql
There is a smarter way.this The problem with bulk insertions is that by default autocommit is enabled thus causing each As the manual page notes:code
SET autocommit=0;
This is a pretty common feature of RDBMs systems which presume that database integrity is paramount. It does make bulk inserts take on the order of 1s per insert instead of 1ms. The alternative of making an overlarge insert statement tries to achieve this single commit at risk of overloading the SQL parser.get |