Re: Ladegeschwindigkeit eines ListViews




Hallo Peter,

Da Du meinem letzten Satz ja zustimmst,
glaube ich, dass Du meine Hintergründe
jetzt verstanden verstanden hast.
Der Artikel ist ja wirklich als in Beispiel für
Daten gedacht, es gibt viel mehr Techniken
und Szenarien die in den Bereich Caching gehen,
die ich aber nicht alle in einer Seite behandeln kann.

Der Aspekt, den Du jetzt eingebracht hast,
ist ja ein mögliches dynamische Chunking
vom DB-Backend während der Demand-Events.
Wobei man bei Datenbindung ja heutzutage
auch an WCF-Services oder direkte
Collection-Bindung der Business Objekte im RAM
denken muss.



Ich befürchte
aber, dass es unangenehme Warte-Effekte beim Scrollen gibt.
Evtl. über Cursor-basierte Stored Procedures im
DB-Backend implementieren (o.ä.). Zumindest ein zusätzliches
intelligentes heuristisches Side-bySide Caching wäre sinnvoll.
Auf jeden Fall könnte man ggf. lange Wartezeiten für Initial-
Ladeprozesse sparen.

Letzteren Satz kann ich voll und ganz unterstreichen. Würde es nicht
auch die Möglichkeit geben, etwa bei einer SQL-DB ein SELECT
abzusetzen, welches einen beidseitig navigierbaren cursor zum
Resultset liefert? Dann könnte man doch direkt innerhalb CellValueNeeded die Daten über
den cursor, mit der Zeilennumer als key, aus dem resultset holen? Wenn
das möglich ist würde jegliches vorheriges "füllen" wohin auch immer,
komplett entfallen.

Man hat schon SCROLL-Cursor'en z.B. in T-SQL:
FETCH PRIOR FROM myCursor
FETCH ABSOLUTE 2 FROM myCursor
FETCH RELATIVE 3 FROM myCursor

[FETCH (Transact-SQL)]
http://msdn.microsoft.com/de-de/library/ms180152.aspx

Ansich geht man in .NET eher hin zum disconnected
Szenario. Insgesamt wird der Netzwerkverkehr ja
durch "einmal alles mit FAST_FORWARD Cursor" entlastet.
Scroll ist dann auch in TCO langsamer.
Aber in Zeiten von SiIverlight, Ajax und Co. ist so
ein Chunk-Verfahren schon lange im Bereich des
Machbaren. Nur in meinem Artikel beleuchte ich
nur einen bestimmten Aspekt, vielleicht kommt
ja mal ein neuer Aspekt hinzu, der durchaus in diese
Richtung gehen kann.


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

.



Relevant Pages

  • Re: Ladegeschwindigkeit eines ListViews
    ... den cursor, mit der Zeilennumer als key, aus dem resultset holen? ... FETCH ABSOLUTE 2 FROM myCursor ... ja mal ein neuer Aspekt hinzu, ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Opinions on approach, please...
    ... To emulate this I plan on using an SQL cursor. ... Is it because when you FETCH from a cursor you go back to the ... therefore the cursor cannot be referred to in Positioned UPDATE and DELETE ... I just did a test and even without specifying FOR READ ONLY I was able to ...
    (comp.lang.cobol)
  • Re: Opinions on approach, please...
    ... To emulate this I plan on using an SQL cursor. ... I COULD do it with a resultset if it wasn't in COBOL or could ... Is it because when you FETCH from a cursor you go back to the ...
    (comp.lang.cobol)
  • Re: number of rows in cursor
    ... DECLARE authors_cursor insensitive CURSOR FOR( ... declare @l sysname ... FETCH NEXT FROM authors_cursor into @l ...
    (microsoft.public.sqlserver.programming)
  • Re: Ladegeschwindigkeit eines ListViews
    ... FETCH ABSOLUTE 2 FROM myCursor ... Die Gesamt-Zeit wird heuristisch in TCO-Sicht ... Dipl.Inf. Frank Dzaebel ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)