Zitat:
Vielleicht wäre es eine Option das Feld nur für die Ergebnismenge und nicht für die gesamte Tabelle berechnen zu lassen
Zitat:
in Verbindung mit kleineren Ergebnismengen (nur das holen was wirklich gebraucht wird)
Kleinere Ergebnismengen bekomme ich durch Angabe einer rows Klausel (entspricht Limit in
mssql). Leider beschleunigt das den Vorgang nicht wesentlich.
Dank des Hinweises von DeddyH bin jetzt draufgekommen, dass man Indizes seit Firebird 2 doch auch nach Fremdtabellen berechnen kann (über computed by an Stelle einer Spaltenangabe). Allerdings beschleunigt das den Vorgang auch nicht nennenswert, obwohl ich nur die ersten 20 abrufe und ein Index vorhanden ist, geht Firebird über die ganze Tabelle.
Zitat:
nicht immer die Fehler nur bei anderen suchen.
Nicht aus dem Zusammenhang gerissen zitieren, würde ich sagen. Ich habe im nächsten Satz geschrieben:
Wobei ich eher annehme, dass es dafür eine Lösung gibt, und dass ich nur nicht weiss, wie sie aussieht.
Zitat:
Ansonsten muss eine Tabelle erstellt werden, die alle Ausgabefelder (und die IDs) beinhaltet und mittels Trigger gefüllt wird.
Das verstehe ich jetzt nicht. Welcher Trigger (ich meine auf welches Ereignis hin)? Meinst Du eine temporäre Tabelle, die Du vor der Abfrage füllst, oder führst Du eine Tabelle permanent parallel mit? - da wäre eine trigger-befüllte Shadow-Spalte InterpretName statt der berechneten Spalte in der Tabelle Musik noch billiger. So geht es natürlich und bringt eine akzeptable Performance, ist aber meines Erachtens extrem "unschön".