I have a source_table with 3 million rows in sql server. The primary key is the built in sql uniqueidentifier.
I want to copy all 3 million rows into 4 tables:
Table1 has some main information such as uniqueidentifier, book_title, book_author, book_price.  Table2, Table3 and Table4 will all different columns but they will have the same uniqueidentifier primary key as Table1 and also that primary key will be a foreign key to Table1's uniqueidentifier primary key.
Copying from source_table takes a long time because each of Table1, Table2, Table3 and Table4 have 50 million rows.  It is slow and I want to improve performance.  My code is below.  Does anyone have thoughts to improve performance even by a little bit?  Every day the source_table is populated and I must reinsert into Table1, Table2, Table3 and Table4.
Thx for your suggestions.
insert into Table1 values (UID, book_title, book_author, book_price)
select values (@UID, @title, @author, @price)
from source_table
insert into Table2 values (UID, col2, col3, col4)
select values (@UID, @col2value, @col3value, @col4value)
from source_table
insert into Table3 values (UID, col2, col3, col4)
select values (@UID, @col2value, @col3value, @col4value)
from source_table
 
    