grundsaetzlich: hardgecoded ohne schleife und subroutine ist i.d.R. am schnellsten, aber fast immer unwartbar...
aus gruenden der uebersichtlichkeit baue ich mir gerne einen Hash mit SQL-Statements (wobei ich haeufig mit Platzhaltern arbeite), baue mir eine Subroutine FireSql oder so, die mir das prepare-execute mit vernuenftiger Fehlerbehandlung macht, sodass der Code ausserhalb knapper und somit uebersichtlicher wird (so ein prepare-execute braucht doch mindestens 4-5 Zeilen, die haeufig wiederkehren)
Normales Perl: da ist das ziemlich egal
mod_perl: da koennte es Sinn machen, die in ein externes Modul zu packen
persistentes Perl: keine Ahnung; vermutlich macht es da sinn
wenn es dir um Laufzeit geht, schau mal, ob deine Datenbank Stored Procedures unterstuetzt; das ist meistens noch schneller (gerade bei sehr komplexen Funktionen). Am wichtigsten finde ich jedoch immer die Lesbarkeit des Codes... schnell genug ist er eigentlich fast immer (sonst wird halt "schnell genug" neu definiert ;-))