Langsame Leistung bei Verwendung von OFFSET / FETCH mit Volltext in SQL Server 2012

9

Ich versuche eine Paginierung von Abfrageergebnissen in Datenbankgröße zu schreiben. Da SQL Server 2012 OFFSET/FETCH anbietet, verwende ich es. Aber nachdem ich die Abfrage zu meiner Abfrage hinzugefügt habe, dauert es 10 mal länger.

Die Abfragen:

%Vor%

Die erste Abfrage gibt Ergebnisse in 3 Sekunden zurück, die zweite in 47 Sekunden. Der Ausführungsplan ist anders, und die Kosten des zweiten werden nur mit 7% bewertet, was für mich völlig sinnlos ist:

Ich brauche Hilfe, um die Leistung der Seitennummerierung zu verbessern.

    
adek 12.08.2013, 12:40
quelle

1 Antwort

2

Es ist schwer zu beraten, ohne Ihr Schema und Ihre Daten in Händen zu haben. Es gibt mindestens eine Sache, die du mit diesen 3 Sekunden machen kannst. für die erste Abfrage und 47 sek. für die zweite, die Ergebnisse der ersten Abfrage in temporäre Tabelle und dann für order by ... offset fetch next :

verwenden %Vor%     
i-one 12.08.2013, 19:40
quelle