![]() |
Datenbank: FB • Version: 1.5 • Zugriff über: bde
SP's <> prepared queries
Hallo #,
ich benutze meistens prepared queries, wenn Daten über eine Schleife ausgelesen werden. Vorteil: Das Statement kann dynamisch zusammengebaut werden. Jetzt habe ich mal eine der am meistens verwendeten Queries in eine SP umgeschrieben. OHA ! Das war etwa 1/3 schneller! Wie kann das sein ? Ich übergebe 2 Integer-Parameter und bekomme ein paar floats (double precision) zurück. Durch das prepare wird auf der Server-Seite der Query-Plan gemerkt. Warum ist die SP um so viel schneller. Danke im voraus Heiko |
Re: SP's <> prepared queries
Bekommst Du ein Recordset von deiner SP zurück?
Falls nein, so hast Du den unterschied. Der zusammenbau eines Recordset kostet auch zeit. Fast-Off-Topic: Du nimmst immer noch BDE? Nicht schon mal native Zugriffskomponenten probiert. Du weist ja: BDE ... |
Re: SP's <> prepared queries
Hallo Bernhard,
auch die SP liefert mir ein Recordset. OK, das wird zeilenweise ausgeliefert und nicht im Server gespeichert. Mich hat nur der enorme Geschwindigkeitsunterschied gewundert. Zur BDE. jaja :) ;( Ich habe hier eine Anwendung mit ~ 500k DB-Code. Ist ursprünglich mit Paradox entwickelt. In vielen Forms befinden sich also noch TTables ...;( Ich versuche ja, davon wegzukommen, aber das wird wohl noch ein bissel dauern. Vista kann ja noch bde. Was empfielst du denn für Firebird ? Heiko |
Re: SP's <> prepared queries
Zitat:
Zitat:
Zitat:
|
Re: SP's <> prepared queries
Hallo Heiko,
für einen schnellen und einfachen Umstieg kann ich die ![]() Ansonsten sind die ![]() Mein persönlicher Rat: Finger weg von IBX Gruß onlinekater [Edit]man wadd Dreckfuhler [/Edit] |
Re: SP's <> prepared queries
Hallo,
ibx ist schon klar (wegen der Aussage von Jeff Overcash, keine FB-spezifischen Sachen zu unterstützen). Bei ZEOS hört man immer mal von Problemen. IBObjects ist Löhn-Ware .. Ich bin ja arm ..;( Was ist mit UIB ? Benutzt das jemand ? Zum Umstieg. Ich habe schon angefangen, eine eigene Query-Komponente zu schreiben. Zur Zeit ist sie noch direkt von der BDE-Query abgeleitet. Das wird insofern geändert, dass ich ne abstrakte Query habe und alle Queries (BDE, ZEOS) müssen halt alles definieren (SQL, Open usw.) Mein Problem ist, dass in der BDE ja noch viel mehr vorgeht (Database, Transaktionen). Das muss ich auch implementieren. Ziel ist, dass ich mehrere Datenbanken unterstützen kann (Oracle und MS-SQL2005). Heiko |
Re: SP's <> prepared queries
Zitat:
--> Achso, Dein Ziel ist es, eine eigene Komponente zu schreiben, die das alles kann? pfff viel viel Arbeit, da Zeos opensource ist, würde ich da mal spicken ... Über die Probleme von Zeos kann ich selbst nichts sagen, ich arbeite hauptsächlich mit den IBObjects (noch). Gruß onlinekater PS: Zur Handhabung der ZEOS-Kompos: ![]() |
Re: SP's <> prepared queries
Zitat:
WEnn Du wirklich mehrerr DB's unterstützen mußt, so empfehle ich dir eine Kapslung z.B. mit dem ![]() Damit ist dir auch egal mit was für Komponenten du auf die DB's zugreifst. Sei es nun ZEOS für alle oder für jede DB eine andere. Vorteil ZEOS: - Exe kleiner - Nur in eine Komponente einarbeiten nötig Nachteile ZEOS: - U.U. Nicht maximale Performance möglich - DB-Spezialitäten werden nicht optimale unterstützt |
Re: SP's <> prepared queries
Hallo Bernhard,
DB-Spezifische Sachen werden nicht unterstützt ? Oha. Wenn ich ZEOS benutze und für jede DB verschiedene Queries benutze, sollte das doch gehen ? Ein einfaches Beispiel wäre das Ermitteln, ob ein Feld in einer Tabelle bereits existiert über die Metadaten. Ich würde also ZEOS als Query benutzen, aber pro DB immer noch (u.U.) verschiedene Statements schicken. Heiko |
Re: SP's <> prepared queries
Zitat:
Wenn Du das o.g. Pattern verwendest wird der DB-Unterschiedliche Teil in einer Unit/Klasse gekapselt. Aber dazu muß man nicht mehr (man kann) Zeos verwende. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz