I will comment that DBAPI has no begin() method. when you use DBAPI with autocommit=False, youre in a transaction - always. SQLAlchemy defines a "transaction" abstraction on top of this that "pretends" to have a begin. Its when theres *not* a "sqlalchemy" transaction going on that youll see a COMMIT issued after every insert/update/delete; otherwise youre transactional.
Anyway, if the email is talking about "batched inserts" of this type being slow (i.e. non-ORM inserts): table.insert().execute({params1}, {params2}, {params3}, ....) thats because SA still does a lot of work on each batch of {params} to check for defaults and also to process bind parameters. We might look into optimizing some of the redundant work which occurs within this process in 0.4, however as long as people still want their unicodes converted to utf-8, their datetimes converted to strings on sqlite, their binaries correctly massaged, their Python side defaults to fire off, this overhead will still be present for those types. So, if you truly want DBAPI-speed inserts, use the raw connection: engine.connect().connection.executemany("your statement", [{params1}, {params2}, {params3}, ...]) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---