Er det muligt at lave i din database således at en kolonne i en tabel max må feks. 10 duplicates.
Så at du i din tabel har 10 records hvor "tlf" kolonnen indeholder "12345678" når der så prøves på at insætte en ny record hvor "tlf" indeholder "12345678" så slettes den ældste af de 10 records.
Min ide er at få lavet en database der ikke vokser sig kæmpe stor. At køre delete sqls, er ikke en mulighed, da det tager for lang tid. Tabellen er ret stor.
Det skal bruges til følgende: Vi går ud og spørger en masse kabelmodems (og jeg mener mange) og hvordan de har det, signal styrke osv. og så smider vi det en database. Der bliver smidt en ny record for hver modem i hver time, men vi skal kun bruge de sidste 100, records der er ældre er overflødige. Og jo størrer tabellen bliver, jo langsommere bliver querys til tabellen. Og skal vi køre den delete query hver dag vil den tage ca. 2.5 time. Vi kan dog programmere os ud af det i scriptet der smider data ind, men det ville være smart hvis databasen selv kunne finde ud af det :)
Det vil tage tid at tælle om der er 100, og finde kriteriet for sletning. Kan man så ikke slette alle fra før et givet tidspunkt. Med et index på det felt bør det ikke tage så lang tid.
jo vi har jo et time felt med en unixtime, problemet er bare at der er 2400000 poster der skal slettes hver dag. Dog er der ikke index på dette felt.
Som det er nu er der ca. 30 querys pr sekund når den kører denne delete. Så kan du selv regne ud hvor lang tid det tager. Det kan ikke gøres under en time. Og da der hver time skal indsættes ca. 10000 poster, fra et andet script, får vi et problem. Da insert querys fra dette script bliver locked, mens der køres delete. Det gør det hele meget langsomt.
Men løsningen kunne være at, insert scriptet sletter den ældste post, som er duplicate for det som den er ved at indsætte. Det vil gøre at scriptet tager ca 6 min mere at køre. det tager ca 10 min nu.
Det er nok ikke det rigtige sted til den diskussion, men det kræver formentlig en (lille?) omstrukturering af databasestrukturen. Der er umiddelbart ikke noget vildt stort i systemet, som en passende struktur (måske opdeling i flere tabeller og med de rigtige indexer) ikke ville kunne klare.
Men så skal man nok have fat i systemet, og kende mere til de konkrete operationer.
Du siger noget :) jeg lavede vist osse lige en fejl det er "kun" 240000 poster
Synes godt om
Ny brugerNybegynder
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.