2009-04-28 7 views

Antwort

6

Ja, das wird Probleme verursachen.

Fügen Sie nicht so viele Datensätze hinzu.

Niemand braucht so viele. Sie müssen stattdessen Filterfunktionen hinzufügen, damit der Benutzer angeben kann, welche Datenbereiche er verwenden möchte.

Lassen Sie den Benutzer beispielsweise die Suche nach Datum eingrenzen (wenn es sich um zeitsensible Daten handelt), oder um den Bestellnummernbereich oder ... naja, was auch immer.

Aber ich kann Ihnen garantieren, dass die Suche nach einer Möglichkeit, 500K Zeilen zu einem Raster oder was auch immer keine Lösung hinzuzufügen.

+0

+1 für den Hinweis, dass "Wenn Sie fragen müssen, machen Sie wahrscheinlich etwas falsch." (http://blogs.msdn.com/oldnewthing/archive/2007/07/18/3926581.aspx). –

+0

Dies ist der Link, nach dem ich gesucht habe, als ich den ersten gefunden habe: http://blogs.msdn.com/oldnewthing/archive/2007/03/01/1775759.aspx –

3

Sie haben den maximalen Speicherbedarf Ihrer App gefunden.

Es gibt kein einzelnes Maß.

Anwendungsspeicher umfasst auch GDI-Handles, Dateihandles, Threads, die Ihre App verwendet. Stellen Sie sicher, dass Sie kein GDI-Handle-Leck mit Task-Manager und Likes haben.

Auch ist es keine gute Praxis, 500.000 Datensätze in die Benutzeroberfläche zu laden, der Benutzer kann nie so viele Informationen verarbeiten, bitte ändern Sie Ihre Praxis durch Paging oder andere Möglichkeiten für diese Aufgaben.

0

Etwas was ich normalerweise mache, ist die Anzahl der auf dem Bildschirm angezeigten Datensätze zu begrenzen, normalerweise auf 20, aber es hängt von dem Typ der Daten ab, die du anzeigen willst.

Ich normalerweise Filterung danach, und die Daten und eine überarbeitete Rekordzahl an die Anwendung zurück. Wenn der Benutzer alle Datensätze sehen möchte, kann er in eine andere Anwendung exportieren (normalerweise Excel, das bricht, aber auch XML).

Niemand wird eine halbe Million Datensätze lesen.

1

Das ist ein großer Datenstapel; Das erste, was zu tun ist, ist in der Tat, die Menge der Daten zu reduzieren - jedoch, da Sie in den Tags DataGridView erwähnen, gibt es "virtuellen Modus" für große Datenszenarien. Siehe auf MSDN, here (overview) und here (howto).

Einige (aber nicht alle anderen) listbasierten Steuerelemente verfügen über eine Unterstützung für den "virtuellen Modus".