Not sure that it would help at all for SQLite, but one example from remote DBMS inserts is using multiple records in your values statement. So instead of... INSERT INTO user VALUES (NULL,?,?,?); ...binding 3 values for 1 record per INSERT statement You might try doing 10 at a time: INSERT INTO user VALUES (NULL,?,?,?), (NULL,?,?,?), (NULL,?,?,?), (NULL,?,?,?)... x10 ...binding 30 values for 10 records per INSERT statement