Avatar billede kennethv Nybegynder
02. oktober 2006 - 12:48 Der er 11 kommentarer og
1 løsning

Speedy Gonzales i access.

Hvordan kan man speede en access db op? Jeg har en db med 3 felter. 2 af felterne er af typen TEXT og det sidste er af type MEMO.

Jeg har et program som har til foremål putte info i de felter. I starten gik det hurtigt, men nu er den bare sløv. Jeg har ca 11000 records. Hvad kan man gøre?
Avatar billede -mundi- Nybegynder
02. oktober 2006 - 12:55 #1
Hvis du sætter mange records ind ad gangen, kan du fjerne index inden du indsætter data, og tilføje dem igen bagefter.

Hvis det er udtræk der er langsomt, kan du indsætte index på relevante sorterings/kriterie felter
Avatar billede kennethv Nybegynder
02. oktober 2006 - 12:59 #2
Index? Jeg er ikke helt sikker på om jeg overhovedet har index i min db.
Avatar billede -mundi- Nybegynder
02. oktober 2006 - 13:02 #3
er det søgning eller indsættelse der er langsomt ?
Avatar billede kennethv Nybegynder
02. oktober 2006 - 13:04 #4
Jeg sætter ikke mange records ind adgangen. Mit program overvåger en bestemt folder for om fil er oprettet og er der det, tager den hele indhold af fil ind i MEMO felt og samtidig putter den ejer af fil i NAME og navnet på fil i FILE.

Det er indsættelsen der er for langsom.
Avatar billede mugs Novice
02. oktober 2006 - 13:30 #5
Kontroller først hvor db er og så prøv en komprimering i  Funktioner >Databasefunktioner > Komprimer og reparer database.
Kontroller størrelsen igen.

Nu skriver du ikke om du sletter nogle poster. Men mange brugere sletter en eller flere poster i den tro, at den frigjorte plads er til rådighed efter sletningen. Det er den IKKE, pladsen er først til rådighed efter en komprimering. Det er ikke af helt samme vetydning ved indsættelse af poster.

Ligeledes hvis du har været inde og redigere db, så er en komprimering også på sin plads. Du ksan sætte db til at komprimere hver gang den lukker ned i Funktioner > Indstillinger > Generelt > Komprimer ved lukning. På den måde sikrer du, at db hele tiden har den minimale str.
Avatar billede kennethv Nybegynder
02. oktober 2006 - 13:49 #6
Jeg sletter ingen records. Som det er nu er det kun en skrivning til db. Det er en access 2000 db.

Er det størrelsen der er årsagen til at det kører langsomt?
Avatar billede mugs Novice
02. oktober 2006 - 14:43 #7
Det er svært at sige - Men prøv alligevel at ghøre som jeg skriver. Det kan kun forbedre performance.
Avatar billede kennethv Nybegynder
03. oktober 2006 - 13:50 #8
Har gjort som du nævnte. Status: samme. Jeg har nu installeret en SQL 2005 Express Edition og konverteret min access db i den. Status: Total det samme. Skal jeg gøre noget specielt i SQL 2005 EE?
Avatar billede mugs Novice
03. oktober 2006 - 14:15 #9
Jeg er helt blank i SQL.
Avatar billede jesperfjoelner Nybegynder
07. oktober 2006 - 18:18 #10
Hvad for noget kode bruge du til at indsætte med?
Kan du lokalisere hvad det er der kører langsomt?
Avatar billede kennethv Nybegynder
09. oktober 2006 - 10:14 #11
Det er noget kode jeg har lavet i Delphi. Det eneste jeg gør er at jeg åbner filen, læser linie 8 på position 32, for at finde hvem der er ejer af denne fil, smider det ind i felt "Name" som er typen TEXT, lukker filen. Finder filnavn, smider det ind i felt "Filename" af typen text og tilsidst smider jeg hele filens indhold ind i felt Datalog af typen Memo. Task closed. Jeg ved ikke om det er fordi det ikke er indexeret eller noget andet.
Avatar billede kennethv Nybegynder
06. juni 2007 - 10:28 #12
Jeg lukker denne opgave.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester