Det gør ingenting. Du skal ikke gå og optimere din database af den grund. Det betyder blot at du har indsat, ændret og slette i tabellen, så den ikke er helt superduper optimeret, men det gør bestemt ingenting.
Måske skal du gøre det en gang om måneden. Eller en gang om året. Jeg plejer ikke at gøre det. De dedikerede servere jeg bruger står alligevel "idle" i 99% af tiden....
Når phpMyAdmin fortæller dig at der er overhead skal du bare ignorere det. Når du bruger DELETE i en MyISAM tabel, eller bruger UPDATE på en MyISAM række af variabel længde som derved bliver mindre, så får du "ekstra" ledig plads i datafilen.
Næste gang du så bruger INSERT vil MySQL automatisk genbruge den ledige plads. Dette gør at MySQL ikke er nødt til konstant at ændre størrelsen på datafilen (gøre den større og mindre), hvilket er godt rent performancemæssigt! Generelt er dette overhead meget lille. Det er måske lidt uhensigtsmæssigt at det er markeret med rødt i phpMyAdmin, fordi det for det til at ligne en alvorlig hæmsko som behøver øjeblikkelig udbedring.
Det er dog kun aktuelt at bruge OPTIMIZE TABLE på tabellen, hvis du har brugt DELETE eller UPDATE på mange(!) rækker i tabellen, så tabellen derved er alt for stor til at du vil udfylde denne ledige plads igen. Dette vil genindvinde diskplads og defragmentere din tabel. Et bedre udtryk for overhead kunne være 'Ledig plads' i phpMyAdmin.
Alt i alt er det som regel ikke noget du skal bekymre dig om, da det i hovedparten af alle tilfælde er en meget lille mængde af den diskplads som er allokeret til den del af datafilen MySQL ikke anvender.
jeg vil gerne spørge om i er helt sikre i det, som i påstår, at OVERHEAD ikke er noget problem. Jeg har lavet en chat, hvor tabellen fyldes op med tekst på kort tid, og så efter nogle få minutter sletter jeg teksten igen. Det fik jeg store problemer med, nemlig med OVERHEAD. Jeg var nødt til at lave en OPTIMIZE TABLE lige efter DELETE. Og det er der intet problem med. Hvorfor ikke putte en OPTIMIZE TABLE der ? Programmet kører ligeså hurtigt som før ! Det er ikke noget problem ! Jeg har også somme tider havt problemer med, at jeg får et dumt svar fra databasen, når jeg har et stort OVERHEAD !
peturkirke >> Overhead kan godt gøre tabellen langsommere, hvis den bliver for stor. Overhead er nemlig også et udtryk for at tabellen er fragmenteret... Ligesom med windows, vil du opnå en bedre ydelse, hvis du defragmenterer.
ja ok, men ud fra de erfaringer jeg har gjort, vil jeg påstå at det ender helt galt, hvis man aldrig bruger OPTIMIZE TABLE fordi overhead vokser hele tiden ? eller gør det ikke det ?
peturkirke >> Det er ikke altid tilfældet. Jeg har svært ved at forestille mig en tabel, hvor du generelt sletter flere data end du indsætter.
Undskyld den lange svartid, men håber du stadig kan bruge det selvom dit spm er 8 måneder gammelt :)
/Morten
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.