Re: Performance: SQL-Server mit ASP-NET oder WinForms
- From: "Peter Fleischer" <peter.fleischer_nospam_@xxxxxx>
- Date: Mon, 11 Apr 2005 07:21:35 +0200
Calle Manthey wrote:
....
> ich will eine App bauen, in der bei der Datenerfassung auf ca. 9.000
> vorhandene Datensätze in einem MS SQL-Server zugegriffen werden muß,
> um dort den jeweils aktuellen zuerfassenden Datensatz hierarchisch
> anzuhängen.
Calle,
für eine eindeutige Antwort ist das zu wenig Information. Z.B. ergeben 9000
Datensätze mit 4 Byte für PK und 10 Byte Text lediglich 130 kByte
Information, was für eine 2 MB-Leitung nun keine Belastung darstellt.
> Geplant war das als ASP-NET App. Inzwischen bekomme ich große
> Bauchschmerzen wegen der Performance:
> - Ist in diesem Fall nicht eine WinForm-App generell schneller?
Der Algorithmus der Realisierung ist von größerer Bedeutung als Unterschiede
zwischen WinForm-App und WebForm-App.
> Oder:
> - Wird eine ASP.NET-App. beim Datenzugriff schneller, wenn der
> WebServer und der SQL-Server mit im lokalen Netz hängen (gegenüber
> einer 2MBitLeitung wenn die Server
> im Internet erreichbar sind)?
Die Abarbeitungszeit hat mehrere Bestandteile:
Applikation - Netz - Datenbank-Server.
Natürlich trägt ein unbelastetes 100MB-Netz anteilig mehr zur Beschleunigung
der Anwednung bei als besipielsweise eine 2MB-Leitung, die vielleicht noch
zusätzlich belastet ist. Wichtig wäre zu ermittelen, wie hoch dieser Anteil
ist. So etwas kann man nur durch Tests unter realen Bedingungen ermitteln.
> Oder:
> - Was ist der beste Weg, um 9.000 Datensätze als Refernzdaten im sehr
> schnellen Zugriff zu haben
> (diese Referenzdaten müssen auch noch vom Client sortiert werden
> können um möglichst schnell
> auf den richtigen Satz verweisen zu können)
Was verstehst du unter "bester" Weg? Amschnellsten ist garantiert, die
Mittel und Möglichkeiten des Datenbankservers zu nutzen. Dieser kann die
Datensätze beispielsweise bereits sortiert bereitstellen.
> Oder:
> - Was ist die Hauptbremse bei einem Disconnected Scenarium:
Die Hauptbremse ist meist der Projektant, der eine unpassende Realisierung
aufbaut:-)
> die
> Datenselection via Select auf
> dem SQL-Server,
Das hängt davon ab, wie komplex die Abfrage ist und wie der Server noch
belastet ist. Vielfach geschachtelte JOIN und WHERE..IN.. können für den
Server eine große Last erzeugen.
> das Transportieren der selektierten Daten vom
> WebServer zum Browser (das entfällt
> ja wohl in einem WebForm-Scenario wenn alles im LAN stattfindet)?
Der Transport vom Server zum Client entfällt nicht. Er kann bei schenllem
Netz nur weniger Zeit in Anspruch nehmen.
> Oder:
> - Wie macht man solch große Datenmengen für den Anwender sichtbar (im
> Grid, TreeView, CoboBox)?
Überhaupt nicht. 9000 Datensätze kann kein Anwender im Stück übersehen. Da
sind zwingend logische Gliederungen erforderlich, um struktueriert schnell
zuzugreifen. Anderfalls ist der Anwender die größte Bremse in der
Abarbeitung.
Bei diesem strukturiertem Zugriff kann der Einsatz aller drei Control
günstig sein:
- ComboBox: grobe Vorauswahl zwischen ca. 5 Kategorien
- TreeView links: weitere Auswahl zwischen 10 Hauptknoten mit jeweils 10
Unterknoten
- DataGrid rechts: Endauswahl zwischen 20 Datensätzen
Bei dieser Technologie braucht man nicht alle Datensätze zu übertragen,
sondern immer nur das, was ausgewählt wurde. Das geht garantiert am
schnellesten.
Peter
.
- Follow-Ups:
- Re: Performance: SQL-Server mit ASP-NET oder WinForms
- From: Calle Manthey
- Re: Performance: SQL-Server mit ASP-NET oder WinForms
- References:
- Performance: SQL-Server mit ASP-NET oder WinForms
- From: Calle Manthey
- Performance: SQL-Server mit ASP-NET oder WinForms
- Prev by Date: Performance: SQL-Server mit ASP-NET oder WinForms
- Next by Date: Re: Performance: SQL-Server mit ASP-NET oder WinForms
- Previous by thread: Performance: SQL-Server mit ASP-NET oder WinForms
- Next by thread: Re: Performance: SQL-Server mit ASP-NET oder WinForms
- Index(es):
Relevant Pages
|
Loading