Re: Daten abrufbereit halten
- From: "Berthold Neumann" <anmeldung@xxxxxxx>
- Date: Wed, 01 Nov 2006 16:01:29 +0100
Am 01.11.2006, 13:07 Uhr, schrieb Meier Rudolf <meiru@xxxxxxx>:
Hallo Rudolf,
ein wirklich ernst gemeinter Tipp vorweg: Besorge dir ein SQL-Einsteigerbuch, damit du mit den Grundtechniken eines RDMS vertraut wirst.
Wenn du mit einer Datenbank arbeitest, lasse die Finger von irgendwelchen selbst gecachten Konstrukten.
Das erledigt die Datenbank völlig allein und tausendmal besser. Das ist ihr Job und dafür wurde sie optimiert.
Was du mit "offenen Datensätzen" meinst, verstehe ich nicht. Wenn damit ein Recordlocking gemeint ist, solltest du dir die entsprechenden Techniken für den SQL-Server näher anschauen.
Welche die für dich optimale ist, hängt sehr von deiner Anwendung ab.
Gruß
Berthold Neumann
Hallo
Server: MS SQL Server 2005 (Express, Standard, etc. -> muss auf allen Versionen laufen) -> wird per OLEDB angesprochen
Ich habe bisher Datenbanken nur in kleiner Form genutzt. Mal eine Tabelle für 10 Einträge von Daten für eine Webseite oder so (das nur als Vorgeschichte, damit ihr abschätzen könnt, was ich für Erfahrungen mit DBs habe). Jetzt muss ich aber ein System aufbauen, bei dem ich eine grosse DB habe. Die Daten werden beim Laden in eine spezielle Struktur geladen (auf einem Server) und können dann vom Benutzer angesprochen werden (lesen und schreiben). Eine Möglichkeit um das zu erreichen wäre, dass ich bei einem Aufruf die ganzen Daten auslese und im Memory speichere (das würde dann meine Anwendung machen). Eine andere wäre evtl. (das weiss ich nicht, ob das wirklich geht), dass ich die Daten nur "öffne" in der DB und sie dann beim Aufruf durch den Benutzer direkt aus der DB hole (was dann schneller laufen sollte, weil sie ja "offen" sind). Zum speichern wäre das dann auch schneller...
Mein Problem ist nun folgendes:
1) Wenn ich das auslese und selber im Memory speichere und die DB sowas auch tut (evtl. ist ja eine Art Cache eingebaut?), dann wäre das eine riesen Verschwendung und so eine "öffnen"-"später zugreifen" - Geschichte wäre vielleicht besser
2) Ich weiss nicht, ob so eine "öffnen"-"später zugreifen"-Sache überhaupt machbar ist. Wenn ich da gleichzeitig z.B. 5000 offene Datensätze hätte... klappt das überhaupt? Belastet das das System mehr als wenn ich's auslesen würde und selber speichere? Ich hab mal was von "Bookmarks" gelesen. Was aber, wenn praktisch jeder Datensatz ein eigenes SELECT ist? Soweit ich weiss sind Bookmarks nur dann gut, wenn ich fix mit einem Rowset arbeite... meine Rowsets haben aber alle nur 1 Zeile... müsste ich das anders machen?
... es ist etwas schwierig eine konkrete Frage zu formulieren.
Noch ein Versuch: Ich habe einen Server, der als Zwischenstück zwischen Client und SQL-Server fungiert und ich weiss nicht, ob ich die Daten am besten selber cachen soll oder ob ich mit einer Art "offenen Datensätze" arbeiten könnte...
für jeden Tip bin ich sehr dankbar
MR - Rudolf Meier
--
Berthold Neumann
http://www.sql-ssis.de
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
.
- References:
- Daten abrufbereit halten
- From: Meier Rudolf
- Daten abrufbereit halten
- Prev by Date: Re: Daten abrufbereit halten
- Next by Date: Re: TSQL Stringverkettung bei leeren Feldern
- Previous by thread: Re: Daten abrufbereit halten
- Next by thread: SQLServer - Zeitweise Timeout
- Index(es):
Relevant Pages
|