Content-Type: multipart/alternative; boundary="------------010300050503050906030000" --------------010300050503050906030000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit .... forgot the attachment, sorry. Matt Doran wrote: > Hi there, > > I'm very new to SQLObject, but I really like it's simplicity. However > I've encountered an issue that I'm struggling to resolve. > > I'm using the latest stable build - sqlobject-0.7.1dev_r1684-py2.4, > and also pysqlite 2.2.0. > > However I've found the performance is very slow. I can do about 10 > inserts a second. This is similar performance to what I can achieve > with pysqlite directly if I commit after every insert. However, if I > commit after after a batch insert I can insert 1000 rows per second > with pysqlite directly. > > It appears that SQLObject is performing a commit after every operation > (i.e. auto-commit), however I have not found a way to disable this > behaviour. I've tried "connection.autoCommit = False" and tried > explicitly using transactions, but neither seemed to work. > > I've attached a script showing what I've been trying. Here's a summary: > > connection = connectionForURI(connection_string) > connection.autoCommit = False > sqlhub.processConnection = connection > > trans = connection.transaction() > > # ... do inserts... > > trans.commit() > > > > Any advice would be greatly appreciated! > > Cheers, > Matt --------------010300050503050906030000 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit .... forgot the attachment, sorry.

Matt Doran wrote:
Hi there,

I'm very new to SQLObject, but I really like it's simplicity.  However I've encountered an issue that I'm struggling to resolve.

I'm using the latest stable build - sqlobject-0.7.1dev_r1684-py2.4, and also pysqlite 2.2.0.

However I've found the performance is very slow.   I can do about 10 inserts a second.  This is similar performance to what I can achieve with pysqlite directly if I commit after every insert.  However, if I commit after after a batch insert I can insert 1000 rows per second with pysqlite directly.

It appears that SQLObject is performing a commit after every operation (i.e. auto-commit), however I have not found a way to disable this behaviour.  I've tried "connection.autoCommit = False" and tried explicitly using transactions, but neither seemed to work.  

I've attached a script showing what I've been trying.   Here's a summary:
connection = connectionForURI(connection_string)
connection.autoCommit = False
sqlhub.processConnection = connection

trans = connection.transaction()

# ... do inserts...

trans.commit()


Any advice would be greatly appreciated!

Cheers,
Matt
--------------010300050503050906030000--