Wenn Geschwindigkeit so eine Rolle spielt - was ich mir bei einer
DB gar nicht so recht vorstellen kann - dann wäre es eine Idee den String nicht vorgängig aufzusplitten und das Ergebnis zu speichern sondern erst später die String zu extrahieren und gleich zu verwenden.
Und wenn es doch sein muss nicht die ganzen strings zu speichern sondern nur die Start- und End-Positionen im Ausgangsstring.