This looks like a typical example that will benefit from a stored procedure.Its a bit more work, but much better performace. You can then batch anyammount of inserts with very good results
Creating your own keys is normally not a good idea.