For a one-time bulk operation on a large data set, using a Database.Batchable class is the best approach. This allows complex logic to be processed in manageable chunks and efficiently manages system resources.References: Apex Developer Guide - Using Batch Apex