14. august 2000 - 16:15Der er
7 kommentarer og 2 løsninger
Oprudning i database
Hejsa, Jeg er ved at udvikle en løsning hvor poster i en acces database ofte skal slettes. Af hensyn til størrelsen af databasen har jeg hørt at man kan køre en sætning der gøre at slettet data ikke længere fylder plads, som det jo ellers altid gør.
Er der nogen der kender denne sætning og eventuelle fordele/ulemper ved at bruge sætningen???
Hvis du har et tidsfelt i dine tabeller, og alle poster der er over 1 time gamle skal slettes, så opretter du en forespørgsel i Access, som helter alle disse felter ud fra tabellerne ... det vil sige, sorterer efter, at timefelterne skal være > 1 time gamle.
Når du har lavet denne forespørgsel, så laver du en simpel SQL streng som denne :
SQL = \"DELETE * FROM Oprydning\" Conn.Execute(SQL)
Dette script kan du så køre, når du gerne vil have, at databasen skal fylde lidt mindre :)
Du kan også i Access, køre den funktion, der komprimer og reparer databasen, hvilket vil få den til at fylde mindre :)
Det er et manuelt klik der skal opryde. F.eks. alle der høre til id=15. Det er ofte 15.000 poster der bliver slettet. Kan man ikke køre den funktion, der komprimer og reparer databasen, hvilket vil få den til at fylde mindre, fra en asp fil???
\"Hvordan man kan komprimere en database med sql \" Det kan ikke lade sig gøre ad den direkte vej til selve database filen, men du kan køre Access og derfra komprimere din database. Om det så evt. kan ske vie DDE ved jeg ikke.
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.