I have a database table on a development server that is now fully populated after I set it running with an import routine for a CSV file containing 1.4 million rows.
Running something that large inside a single transaction is not a good idea. Therefore, I'd recommend breaking up the file into smaller, more manageable chunks.
Another option is to look at some of the other ways to import CSV data directly.