Index creation before or after loading data
Adding the index after the table is populated will be faster, perhaps hugely faster.  The only reasons to have the index first are:


Other transactions must not be allowed to see the table without the index (but in this case, try to create the table, populate the table, and create the index all in one transaction)
The index supports a constraint, and you want the constraint enforced during the loading process rather than at the end.
You don't care much about the performance difference, and creating the index upfront is just syntactically easier to do.