This is a bit generic,
but when writing to a DB the only way I know of to make things faster is to use transactions and commit every 1000 or 10,000 or so rows, this is how its done for ETL jobs.
If you are using mysql you may also look into using their multi-insert insert into syntax
>> INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
(copied from
http://dev.mysql.com/doc/refman/5.5/en/insert.html )
Also consider if possible dropping any primary keys and indexes constraints before the insert and building them afterward