Das Problem dürfte die Sortierung sein. Obwohl man nur die ersten 20 Einträge sehen will, muss die Engine ja erst mal das gesamte Resultset erzeugen.
Folgendes kann u.U. funktionieren:
Ich kenn ALS nicht, aber irgendwie wirst Du eine temporäre Tabelle erstellen können. Bei
MSSQL (meinem System) geht das so:
Select * into TempTabelle from Tabelle Where Foo=Bar
Nehmen wir mal an, das ginge so, dann würde ich erstmal eine minitabelle mit den ersten 20 Einträgen aus der SendingSchedule erstellen und das SELECT dann mit dieser Minitabelle (anstelle von SendingSchedule) machen.
Gibt es bei ALS besondere Indextypen? Bei
MSSQL bringt ein Index bei einem ORDER BY nur dann etwas, wenn dieser 'CLUSTERED' ist (eine Microsoft-Eigenheit)..
Versuche es erstmal ohne das ORDER BY. Wenn die Performance dann ok ist, taste dich weiter ran.
[edit] hab eben den
Query-Plan gesehen. Sieht fast so aus wie bei
MSSQL. Der TABLESCAN und das SORT sind deine Sorgenkinder[/edit]