Avatar billede jonas_h Nybegynder
18. august 2004 - 14:39 Der er 3 kommentarer

Langsom side, når databasen ikke er komprimeret!

Jeg har en ASP side, som benytter sig af en Acces database. På siden, http://www.quiz-it.dk, skriver den MEGET dig databasen hele tiden, og størrelsen vokser derfor hurtigt. Dette problem plejer jeg at løse ved at downloade den, komprimere den, og uploade den igen.
MEN, det er jo et problem, da brugerne så ikke kan bruge siden i den tid jeg uploader.
Kan man undgå dette problem på nogenb måde? Altså at den ikke vokser så meget i størrelsen?

Og en anden ting: Bliver siden langsommere jo længerere tid siden det er, at man har komprimeret databasen? På forhånd tak!
Avatar billede mugs Novice
18. august 2004 - 15:39 #1
Jeg har ikke forstand på internettet, og heller ikke hvordan en Access db spiller sammen med en ASP side.

Men i en "ren" Access db, kan du løse problemet med komprimering ved at sætte db til automatisk at komprimere ved lukning i stien:

Funktioner > Indstillinger > Generelt og sæt checkmærke i "Komprimer ved lukning".

Principielt er tiden en db kører på langsommere, hvis det er lang tid siden den er komprimeret idet db jo fylder mere. Det har især betydning, hvis du ofte tilføjer / sletter data
Avatar billede carstensuurland Nybegynder
18. august 2004 - 18:25 #2
Access anvender internt "OLE Structured Storage". Det betyder at du fra tid til anden får "huller" i din fil (den bliver defragmenteret) når der manipuleres data i filen (INSERT, UPDATE, DELETE).

Den umiddelbart eneste måde at undgå (minimere) dette på, er at opdele din Accessdatabase i flere database (hvis det er muligt...) Du kan se hvilke tabeller der kan udskilles i særskilte databaser, med udgangspunkt i dine tabelrelaioner.

Du vil herefter stå med X antal databaser, hvor du forhåbentlig kun har brug for at komprimere en enkelt af dem. Det vil nedsætte tiden hvor dit site er utilgængeligt.

En anden mulighed er følgende: DBEngine.CompactDatabase(SourceDB, DestinationDB)

Du kan anvende denne fremgangsmåde i en ASP fil, så du gør det hele "on-line". Ulempen hér er at du skal have nok plads hos din udbyder til at kunne have databasen liggende (måske) 2 gange...

Du kan herefter (f.eks via Application("DBPath")) angive at det er den nye database der skal bruges og derefter slette den eksisterende.

Desværre findes der ingen "elegant" måde at gøre dette på når man anvender Access - først og fremmest fordi Access ikke er en "rigtig database"... (hvis man ellers må være så fræk). Den fungerer udemærket men har i den grad sine begrænsninger i forbindelse med hjemmesider - det som du her spørger til nok en af de største...
Avatar billede mugs Novice
25. august 2004 - 17:12 #3
jonas_h > Noget nyt?
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