none
FindFirst oder Select

    Frage

  • Meine Datenbank läuft mitlerweile auf mdb und/oder mssql (Freu) nun bin ich noch am schauen wo ich evtl. verbessern kann hierzu eine frage:

    Wenn ich bei der mdb mit FindFirst einen Datensatz suche habe ich meiner meinung nach die Gleiche Geschwindigkeit bei FindFirst zu Select (ich denke auch mal jenachdem wo der Datensatz im Recordset steht)

    Nun die eigentliche Frage wie ist es wenn ich auf die mssql Datenbank zugreife benutze ich da besser Select oder kann ich auch dort mit FindFirst weiter arbeiten.

    Danke

    Michael


    • Bearbeitet MCDPone Sonntag, 25. März 2012 09:52
    Sonntag, 25. März 2012 09:51

Antworten

  • Hallo!

    Ich verstehe deine Frage nicht. Wie meinst du das mit Select und/oder FindFirst?
    Geht es dir um die Anzeige von Datensätzen im Formular?

    Falls du mit Select eine Select-Anweisung inkl. Filterbedingungen und mit FindFirst das Öffnen eines Recordset ohne Filter meinst: Wird bei FindFirst ein Index zur Suche des Datensatzes genutzt? Ich würde es zwar erwarten, sicher bin ich mir allerdings nicht, da ich so etwas nicht verwende (und daher auch zu faul bin, das zu überprüfen ;)). Du kannst das aber selbst prüfen, wenn du dir die Anweisungen über den SQL-Profiler oder ein ODBC-Trace ansiehst. (Für Jet-Datenbanken könntest den Jet-Showplan ansehen.)

    Allerdings gehe ich daovn aus, dass ein Öffnen inkl. Filter schneller sein müsste als ein Öffnen ohne Filter mit anschließendem FindFirst -zumindest wenn Indizes genutzt werden.

    BTW: Wenn die Geschwindigkeit davon abhängt, wo der Datensatz im Recordset steht, nehme ich an, dass kein Index genutzt wird.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch


    • Bearbeitet Josef Pötzl Sonntag, 25. März 2012 12:45
    • Als Antwort markiert MCDPone Montag, 26. März 2012 08:21
    Sonntag, 25. März 2012 12:00

Alle Antworten

  • Hallo!

    Ich verstehe deine Frage nicht. Wie meinst du das mit Select und/oder FindFirst?
    Geht es dir um die Anzeige von Datensätzen im Formular?

    Falls du mit Select eine Select-Anweisung inkl. Filterbedingungen und mit FindFirst das Öffnen eines Recordset ohne Filter meinst: Wird bei FindFirst ein Index zur Suche des Datensatzes genutzt? Ich würde es zwar erwarten, sicher bin ich mir allerdings nicht, da ich so etwas nicht verwende (und daher auch zu faul bin, das zu überprüfen ;)). Du kannst das aber selbst prüfen, wenn du dir die Anweisungen über den SQL-Profiler oder ein ODBC-Trace ansiehst. (Für Jet-Datenbanken könntest den Jet-Showplan ansehen.)

    Allerdings gehe ich daovn aus, dass ein Öffnen inkl. Filter schneller sein müsste als ein Öffnen ohne Filter mit anschließendem FindFirst -zumindest wenn Indizes genutzt werden.

    BTW: Wenn die Geschwindigkeit davon abhängt, wo der Datensatz im Recordset steht, nehme ich an, dass kein Index genutzt wird.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch


    • Bearbeitet Josef Pötzl Sonntag, 25. März 2012 12:45
    • Als Antwort markiert MCDPone Montag, 26. März 2012 08:21
    Sonntag, 25. März 2012 12:00
  • Danke Josef

    SQL-Profiler oder ein ODBC-Trace Jet-Showplan sind neue dinge für mich

    ich denke das ich damit genügend werzeug an der hand habe

    Michael

    Montag, 26. März 2012 08:21