Du kannst vermutlich eine Menge Zeit einsparen, wenn Du die Felder nicht für jeden Datensatz sondern einmal vor der Schleife ermittelst:
Das ist schon eine Weile nicht mehr wirklich relevant, da das DataSet die Felder in einem Dictionary vorhält. Man spart sicher schon noch etwas, aber es ist nicht mehr so gravierend wie früher.