Announcement

Collapse
No announcement yet.

bringt prepare wirklich was oder hat das eher statistischen wert???

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • bringt prepare wirklich was oder hat das eher statistischen wert???

    ich habe bei meiner paradox-datenbank-anwendung mit prepare
    rumexperimentiert und kann nicht behaupten, daß ich da große
    geschwindigkeitsvorteile gemerkt hätte!!!!
    die frage ist auch, wann rufe ich prepare auf und wann rufe
    ich unprepare auf!!!
    weiß jemand rat???

    markus lemcke
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,

    die Frage wird bereits in der Delphi-Hilfe zu <b>TQuery.Prepare</b> beantwortet: <i>Mit Prepare können Sie Ressourcen für die BDE und einen Remote-Datenbank-Server für die Abfrage reservieren und zusätzliche Optimierungen durchführen. Wenn Sie vor der Ausführung einer Abfrage Prepare aufrufen, können Sie die Leistung einer Anwendung erhöhen.</i>

    Somit betrifft das nur die <b>SQL-Datenbanken</b>, denn dort muss jede SQL-Anweisunge vom <i>Optimizer</i> erst analysiert und in einen Zugriffspfad übersetzt werden

    Comment


    • #3
      Hallo,
      heisst das, dass Paradox keine SQL-Datenbank ist? Ich denke, schon, da sie SQL unterstützt. Gemeint ist wohl eine Desktop-Datenbank.
      Thomas Mülle

      Comment


      • #4
        Hallo Thomas,

        Paradox ist eine Desktop-Datenbank, da alle Abfragen, auch SQL-Abfragen lokal auf dem Desktop-PC des Benutzers ausgeführt werden.

        SQL verdankt Paradox hierbei der local-SQL-Fähigkeit der BDE, was aber in Performance und Funktionalität nicht mit einem 'echten' SQL Server vergleichbar ist.

        Dennoch sollte man als Entwickler auch unter Paradox local SQL einsetzen. Das hat zB Vorteile, wenn die Anwendung einmal auf echte SQL-Server portiert wird.

        Ka

        Comment


        • #5
          Ich habs probiert: Prepare hatte keinen bemerkenswerten Einfluß auf die Performance beim Update von ca. 1500 Datensätzen in einer Schleife. wohl aber die Verwendung von params[n] statt parambyname('Parametername'). Anscheinend ist der Zugriff auf den Parameter so schneller, da nicht über den Namen gesucht werden muß

          Gruß Ka

          Comment


          • #6
            Hallo,
            ich habe die Erfahrung gemacht - zumindest bei lokalen Paradox - Tabellen, dass erst durch prepare gewaehrleistet ist, dass select-Abfragen immer korrekt sind.
            Wird prepare nicht verwendet, stimmt zwar das Ergebnis der ersten abgeschickten select-Abfrage. Werden dann aber Datensätze verändert bzw. hinzugefügt, bringt eine neuerliche select-Abfrage die alten Ergebnisse. Seit ich mit prepare die select-Abfragen vorbereite, habe ich diese Unstimmigkeiten nicht mehr

            Comment

            Working...
            X