Learn Apex
Batch Apex
Implement Database.Batchable — Salesforce chunks the scope into batches; each execute run gets a subset of rows.
Batches

How many execute() calls?

Approximate execute() invocations

50

Skeleton
public class AccountFixBatch implements Database.Batchable<SObject> {
    public Database.QueryLocator start(Database.BatchableContext bc) {
        return Database.getQueryLocator([SELECT Id FROM Account]);
    }
    public void execute(Database.BatchableContext bc, List<SObject> scope) {
        // process scope — up to batch size rows
    }
    public void finish(Database.BatchableContext bc) { }
}