/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Hastighed i forbindelse med jet db...
Fra : Thomas Eg Jørgensen


Dato : 03-11-01 08:46

Hejsa

Jeg sidder og fifler lidt med et større program som jeg begynder at få
hastighedsproblemer med. Hver gang jeg skal skrive/læse fra min database
fryser computeren i noget den ligner 1/4-->1/2 sekund. Hvis man så skal
gennemløbe en masse data og åbne og lukke forskellige tabeller går det helt
amok og ventetiden bliver acceptable

i min Create åbner jeg min database med:
var
Jet:_dbengine;
work:workspace;
db:database;
begin
jet:=codbengine.create;
work:=jet.workspaces.item[0];
db:=work.opendatabase('../dbdir/data.mdb',0,false,'');

og ved læsning/skrivning bruger jeg oftest:
var
rec: recordset;
begin
rec:=db.openrecordset('MinTabel',dbopendynaset,0,dbPessimistic);

Nogle gange bliver jeg nødt til at åbne recordsets inde i loops og det er
her mine største problemer ligger. F.eks. noget al'a:

Rec:=db.openrecordset('MinTabel',dbopendynaset,0,dbPessimistic);
While not rec.EOF do

DataRecord:=db.openrecordset('MinTabelNrTo',dbopendynaset,0,dbPessimistic);

Desværre tager min openrecordset som sagt utrolig lang tid og jeg håbede at
nogen herinde kunne fortælle mig hvad jeg gør forkert eller hvad jeg
eventuelt kan gøre for at øge hastigheden? Det kan ikke passe at jeg er den
eneste der skal læse forholdsvis mange data ud fra en access database....Jeg
vil nødigt skulle skifte system da jeg efterhånden har rundet de 20k linjer
i det her projekt, men hvis det er det der skal til så er der jo ikke noget
at gøre. Det her kører i hvertfald for langsomt....

Håber i kan "tænde lyset" for mig herinde

MVH
Thomas



 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste