Yes, doing the prepare once will increase performance quite a bit.
Another thing that can make a HUGE difference in performance is running all of the updates (or insertions) as a single transaction. From one of my DB creation programs (million records). I like to make the "work" as a sub framed by BEGIN and COMMIT to make the transaction scope clear:
$dbh->do("BEGIN"); #a single transaction makes this MUCH faster
import_data();
$dbh->do("COMMIT");