Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: Query in thread ausführev: Wie Ergebnis zurück geben

  Alt 1. Jun 2015, 06:54
Wenn das die Daten in einzelnen Paketen laden kannst (Pagination), dann würde sich das Problem so nicht stellen, denn dann zeigst Du die 1. Seite und würdest beim Scrollen einfach die nächste Seite laden. Aber das wolltest Du ja so nicht umsetzen, sondern prinzipiell die Vorgehensweise im Thread erklärt haben.

Bei der Pagination hat der Anwender keine Wartezeiten, beim vollständigen Laden der Daten hingegen schon. Denn warten muss der Anwender, aber entweder kann er den Vorgang abbrechen oder eben nicht.

Gut. Die Daten in einem Haps zu laden, hat Sir Rufo schon erklärt. Einige Provider unterstützen das asynchrone Laden von Daten. Der Provider lädt das Ergebnis dann in Stücken. Man gibt bei der Ausführung der Query einen 'Callback' an, der vom Provider dann zwischendurch aufgerufen wird. Nämlich immer dann, wenn der nächste Teil der Ergebnismenge zur Verfügung steht.

Ich weiß nicht, ob UniDac das unterstützt. Es wäre jedoch einen Versuch wert.

Wenn die Ergebnismenge jedoch nicht sonderlich hoch ist, und die Wartezeit aus der Komplexität der Query resultiert, dann muss man sich fragen, ob es sich lohnt, die Abarbeitung in einen Thread zu packen, denn bei einem Abbruch durch den Benutzer muss man ja auch in der Lage sein, die Query abzubrechen.

Vielleicht an dieser Stelle die Frage: Wieso dauert das lange? Komplexe Query oder viele Daten?
  Mit Zitat antworten Zitat