Gå til innhold

Automatisk fjerning av data etter en viss tid.


Anbefalte innlegg

Hei, jeg er egentlig fersk innen php når det kommer til det avanserte. Har laget et ordre system som vi bruker på lageret på jobben.

 

Men etter hvert som tiden går så blir jo denne basen fylt opp med info. Hvordan kan jeg enklest mulig få til at når en ordre har vært inne i systemet i feks 2 uker, så vil den slettes automatisk? Er dette mulig?

 

Thomas

Lenke til kommentar
Videoannonse
Annonse
Hei, jeg er egentlig fersk innen php når det kommer til det avanserte. Har laget et ordre system som vi bruker på lageret på jobben.

 

Men etter hvert som tiden går så blir jo denne basen fylt opp med info. Hvordan kan jeg enklest mulig få til at når en ordre har vært inne i systemet i feks 2 uker, så vil den slettes automatisk? Er dette mulig?

 

Thomas

Har du prøvd diverse optimiseringer av tabellen og kanskje spørringene? Du skal ha ganske mange ordre for at dette blir et problem, men på et lager så har du kanskje det og. :)

 

For å slette automatisk (samt backup først) så gjøres det enklest med et script du kjører ved hjelp av crontab på linux eller task scheduling på windows. Dette kan gjerne være et php script.

 

Det kan kanskje være en ide å flytte de radene du skal slette over til en annen tabell for gamle ordre hvis du vil ha mulighet til å bruke den informasjonen i fremtiden.

Lenke til kommentar

Som OISNOT skal det normalt en del til før mengde blir et problem i slike systemer, gjerne et par hundre tusen rader eller mer. Dersom for mye data vises er det bedre at du begrenser mengden data du henter ut. Det gjør at de gamle dataene fortsatt ligger der den dagen dere ønsker å gå litt lengre bak i tid.

 

Dersom du har manuelt skrevet (My)SQL-spørringene kan de forbedres med "LIMIT 50 ORDER BY created DESC" for å bare hente ut de femti siste oppføringene eller "WHERE created > DATE_SUB( NOW(), INTERVAL 14 DAY )" for å hente ut alle oppføringer de siste fjorten dagene. ( created er et felt i tabellen av type DATE_TIME satt til tidspunktet oppføringen ble innsatt ).

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...