SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Große Listen und Performance

Unbeantwortet Dieser Beitrag hat 14 Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich erstellt 28 Aug. 2009 11:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Daß die Performance allgemein ab ca. 2.000 Elementen einbricht, ist ja bekannt und da läßt sich auch nicht wirklich was machen. Man muß sich einfach überlegen, ob man wirklich so viele Elemente in eine Liste braucht.

Die Datenansichten im SPD kann man beschleunigen, wenn man die Seitenverwaltung/Paging auf wenige Elemente begrenzt. Erst wenn Du mit dem Konfigurieren der Ansicht fertig bist, entfernst Du diese Einschränkung wieder.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Nov. 2009 10:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Problem ist, daß immer alle Elemente geholt werden, auch wenn dann eben nur ein Teil angezeigt wird (Paging). Filter greifen aber AFAIK vorher. Und ja wir haben auch Listen mit teilweise 10.000 Elementen, die immer noch ganz gut funktionieren.

Den Flaschenhals zu finden, ist allerdings nicht wirklich einfach. Es gibt da zu viele potentielle Kandidaten. Eure Hardware hört sich jedenfalls ganz vernünftig an, so daß ich einfach mal spontan auf Festplattenzugriff tippe. Liegen die Daten- und die Transaktionsdateien von SQL Server auf physikalisch unterschiedlichen Platten? Falls nicht, würde ich da ansetzen. Ansonsten müßt Ihr wohl einfach aufmerksam mit perfmon suchen... SQL Profiler kann evtl. auch helfen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Nov. 2009 11:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der Filter greift erst nach dem Holen der Daten aus der DB, d.h. es werden alle Daten geholt und dann für die Anzeige gefiltert. Deshalb die Verzögerung.

Ich nehme an, das läuft in einer SPD Datenansicht? Versuche die Daten bereits an der Quelle (Datenquelle) zu filtern und wirklich nur die zu holen, die Du auch anzeigen möchtest.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Nov. 2009 12:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ehrlich gesagt: keine Ahnung. Ich würde im Source der Seite nachschauen. Bei "normalen" Datenquellen steht dort die entsprechende CAML-Query und kann um ein <Where>-Element erweitert werden. Ist aber ein ziemlich unschönes Gefummel...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Nov. 2009 14:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Myst"]Mach ich da was falsch?[/quote]

Ja. Du hast <Query> innerhalb von <View>. Die gehören aber nebeneinander (oder <View> ganz weglassen).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Nov. 2009 14:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hm, da hatte ich wohl mal wieder die exakte CAML-Struktur nicht richtig im Kopf :-(

Für den aktuellen Benutzer gibt es ein CAML-Token, das ich allerdings auch mal wieder nicht auswendig weiß. Könnte sowas sein <UserId/>

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Nov. 2009 16:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Weiß ich nicht. Müßte man mal mit einem SQL Profiler o.ä. testen...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 5 Nov. 2009 10:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

SharePoint kann mit List von einer max Größe von 2^31 (int32) umgehen aber zum anzeigen sollte nicht mehr als 2000 Elemente dargestellt werden.

Ich selber habe listen mit mehr als 10.000 Einträgen und das läuft soweit auch sehr gut dafür sind auch die Indizies der Liste entscheidend, um so den Views eine schnelle Anzeige zu ermöglichen. Man muss auch überlegen wieviele Elemente kann sich eine Person überhaupt sinnvoll anschauen?
(2000? ehr unwahrscheinlich!)

Das wichtigste bei großen Listen:

  • Richtige Indizies
  • Filterwebparts um das anzuzeigen was dem Benutzer interessiert
  • Archivierung für nicht mehr benötige Elemente
  • (SQL Indizies Rebuild)