If blocking a database is your major problem, do the above CSV import to a different database file, then write your own code to copy rows from that database to the one being read. That way you can use whatever transaction sizes you want. Or perhaps the single optimised command <code>INSERT INTO table SELECT ...</code> will be good for you. The <code>ATTACH</code> command is used to open two databases on the same connection.