AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriff auf SQlite extrem langsam
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf SQlite extrem langsam

Ein Thema von R2009 · begonnen am 1. Mär 2010 · letzter Beitrag vom 1. Mär 2010
 
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

Zugriff auf SQlite extrem langsam

  Alt 1. Mär 2010, 08:16
Datenbank: SQlite • Zugriff über: sqlitewrap
Hi DP'ler,

ich habe angefangen rudimentäre Tests für ein neues Tool durchzuführen.

Folgende Vorgaben muss ich einhalten:
1.) Das Tool soll voll Datenbankunterstützt laufen.
2.) Die Schnittstelle zur Datenbank soll pur auf SQL basieren. (Rückgabe durch dynamische Arrays.)

Bei mir stellt sich jetzt, in Bezug auf SQlite, folgendes Problem:

Wir benutzen sehr viele einfache Parameterfenster. Beim öffnen der Fenster hole ich die Daten
aus der Datenbank und weisse diese den entsprechenden Feldern (Tedit, Combobox usw) zu.
Das geschieht alles automatisch und funktioniert ohne Probleme.
Beim verlassen der Fenster muss dieser Vorgang umgekehrt laufen.
Dort gibt es massive Performanceprobleme.
Das Updaten dauert für ca 50 Editfelder oder Komboboxen um die 10 Sekunden.

Delphi-Quellcode:
             if li='then li:='empty';
             SQL:='select * from Parameters where NAME = '+chr(39)+name+chr(39);
             tab := db.GetTable(sql);
             If tab.FieldAsString(1)<>li then
                begin
                  SQL:='update Parameters set VALUE = '+chr(39)+li+chr(39)+' where NAME = '+chr(39)+name+chr(39);
                  try
                    DB.ExecSQL(SQL);
                    main_form.memo1.lines.Add('update');
                  except
                    SQL:='insert into Parameters (NAME,VALUE) values ('+chr(39)+name+chr(39)+','+chr(39)+li+chr(39)+')';
                    DB.ExecSQL(SQL);
                    main_form.memo1.lines.Add('insert');
                  end;
                end;
Vielleicht hat irgendjemand eine Idee wie man das Ganze etwas beschleunigen kann.
Die memo-einträge habe ich nur zum Testen im Code!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
 


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 14:08 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-2025 by Thomas Breitkreuz