AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Insert Optimierung

Ein Thema von Franzelchen · begonnen am 2. Mär 2012 · letzter Beitrag vom 4. Mär 2012
Antwort Antwort
Franzelchen

Registriert seit: 22. Mär 2007
82 Beiträge
 
#1

AW: Insert Optimierung

  Alt 4. Mär 2012, 19:05
Ein execute block ist eine SP, die inline deklariert wird. Es ist also SQL/PL möglich. Bei einfachen Inserts sollte aber eine normale parametrisierte Insert-Abfrage ausreichen. Auch hier kannst du die Commits blockweise ausfügren.
SP ist eine stored procedure,
inline ist ???
SQL/PL heißt ???

Warum müssen die Antworten komplizierter sein als die Fragen, welche man versucht zu stellen.

Ich weiß ich bin Anfänger und sollte mich um die Grundlagen selber kümmern. Dennoch, wozu ist das Forum da, wenn es keine Anfänger gäbe, sondern nur Fachleute?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Insert Optimierung

  Alt 4. Mär 2012, 19:15
Hallo,

als Anfänger solltest du ja erst einmal anfangen,
statt sich gleich an die Optimierung zu setzen.

Was ist an 4 min Laufzeit sooo schlimm,
dieses Insert wird doch wohl nicht zu den Haupt-Aufgaben deines Programms gehören.

Mach doch erst mal so weiter.


Noch was zum Probieren

Delphi-Quellcode:
procedure TForm1.InputDatasetClick(Sender: TObject);
var i:Integer;
 startzeit,stopzeit : TDateTime;

begin
startzeit := now;
Screen.Cursor := crHourGlass;
ZConnection.Database := 'c:\msql\firedb.fdb';

 ZQuery1.SQL.text:='INSERT INTO TestTabelle (Wert1, Wert2) VALUES(:v1, :v2)';
 ZQuery1.Prepare;

 for i:=0 to SG1.RowCount-1 do
  begin
    with ZQuery1.params do
    begin
      ParamValues['v1']:=SG1.Cells[0, i];
      ParamValues['v2']:=SG1.Cells[1, i];
    end; // with
   ZQuery1.ExecSQL;
  end; // i
Screen.Cursor := crDefault;
stopzeit := now;
Panel1.Caption :='SuchZeit : '+ FormatDateTime('nn:ss:zzz', StopZeit - StartZeit) ;
end;
Was du leider immer noch nicht geschrieben hattest:
Hat deine Tabelle Indizes ?

Heiko
Heiko

Geändert von hoika ( 4. Mär 2012 um 19:18 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Insert Optimierung

  Alt 4. Mär 2012, 19:21
Zitat:
SP ist eine stored procedure,
Ja.
Zitat:
inline ist ???
Der Code wird nicht gespeichert, wie bei einer SP oder einem Trigger, sondern wird innerhalb einer Abfarge deklariert und existiert dann nur temporär.
Zitat:
SQL/PL heißt ???
PL (procedure language) bieter erweitere Konstrukte wie temp./lokale Variablen, Strukturelmente ( Schleifen, Bedingungen usw.), welche in einer normalen Abfarge nicht möglich sind.
http://www.janus-software.com/fbmanual/
Markus Kinzler
  Mit Zitat antworten Zitat
Franzelchen

Registriert seit: 22. Mär 2007
82 Beiträge
 
#4

AW: Insert Optimierung

  Alt 4. Mär 2012, 20:33
@ mkinzler

Danke.

@ Hoika

Die Tabelle hat weder Indizes noch Trigger.

Zu dem Quelltext:
ZeosQuery (habe ich gelesen) besitzt die einstellbare Prepare Funktion nicht, da diese Funktion im Quelltext von Zeos bereits fest einprogrammiert ist.

Mein erster Schritt: create DB, zweiter Schritt: create tabelle, dritter Schritt: bring meine Daten in die Tabelle(möglichst schnell).
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz