10. Mai 2012 17:08
Aber das mit der Änderung des "Clustered Index" hast Du noch nicht probiert?
10. Mai 2012 17:27
Nein, weil damit würde ich das Problem wahrscheinlich nur verschieben. Die Angebotsliste ist sortiert nach "Document Type", "sortint" und die Auftragsliste ist sortiert nach "Document Type","No."
Und das Problem besteht ja generell. Sobald man eine andere Sortierreihenfolge auswählt, ist blättern unmöglich. Damit würde ich allerhöchstens das Problem in der Angebotsliste lösen. Mit meinem Filter, auch wenn ich nicht verstehe warum, klappt es zumindest in beiden Forms.
Ich hab mich heute auch noch längere Zeit mit dem Profiler und dem Activity Monitor auseinander gesetzt, und habe die beiden Queries verglichen (einmal mit und einmal ohne den besagten Filter)
Die Executionpläne zu deuten fällt mir nicht ganz so einfach, aber ich hab noch rausgefunden dass er im einen Fall viel mehr Last auf der tempdb erzeugt als im anderen Fall, ich glaube dadrin passieren ja so Sachen wie das Umsortieren von Tabellen...
Vielleicht probier ich das mit dem "Clustered Index" übermorgen (morgen hab ich Urlaub) nochmal hier bei uns aus, doch ich glaub beim Kunden ist mir das zu riskant, wenn ich den gleichen Effekt auch durch einen Filter haben kann.
30. Mai 2012 16:33
Naja, wenn ich eine Sortierung nach "DocumentType, Sortint" möchte, ist es extrem langsam wenn ich diesen Schlüssel in einer Form hinterlege. Filtere ich aber im Tableview der Form auf sortint <> 0 (wodurch kein einziger Satz weggefiltert wird denn es gib keinen mit sort int = 0), passiert in den Eingeweiden des SQL-Servers "irgendetwas" und es ist aufeinmal super schnell.
Ich versteh zwar nicht warum, aber ich habs jetzt einfach so in die betreffende Form eingebaut...