10. april 2004 - 13:53Der er
15 kommentarer og 1 løsning
Automatisk database optimering
Hej!
Hvis tabeller ikke er blevet optimeret efter nogle ændringer, så melder siden ofte fejl ved execute sætningerne og siden bliver sløv! Der sker med det samme hvor en tabel har et overhead. Skal dette løses vha. en automatisk "Sql table optimering" eller hva'?
Hvordan laver man smartest en automatisk "SQL tabel optimize"? Er der evt. andre oprydnings kommandoer, som kunne gøre min side mere stabil og hurtigere?
automatisk... den slags findes altså ikke når det gælder scripts...
den eneste måde at optimere et script på, er at lade en gut som er bedre end en selv, lave nogle optimeringer... andre måder er der ikke... eller må du blive bedre til at optimere koden selv...
sql/asp/scripting... kan ikke optimere sig selv, medmindre du laver et script som er 10 gange så avanceret som det du startede med...
som sagt før... den eneste måde jeg/vi kan hjælpe dig på, er ved at komme med konkrete eksempler... eller hele koden, og derefter spørge... kan dette gøres bedre ?
montago>> har du drukket for meget absint?! Manden skal jo ikke have optimeret sin script, men database. Jeg vil gå ud fra at han bruger access-db, og den har nemlig en irreterende "feauture" med at svine databasen til efter en del tilføjelser/sletninger af poster. Der er et menu-punkt i Access der hedder Tools>Database Utilites>Compact and Repair Database. Der har været et spm tidligere om hvordan man kunne automatisere denne process: http://www.eksperten.dk/spm/478125
nej... det er ikke rod med scriptet, men rod med access db. Når man sletter en record i access bliver pladsen ikke frigjort i databasen, før man laver en compact&repair. Så, selvom du laver et lille simpelt script der opretter 10000000 records og sletter dem igen (et script på 10 linjer er sq lidt svært at lave fejl i), så vil databasen ikke fylde det samme efter udførslen som før.
Men om hans applikation er konstrueret ordenligt, siden han sletter records i flæng, det er en anden sag. Det behøver ikke at betyde der er fejl i scriptet.
access er fint til at designe i, derfor bruges det til at udforme en database der sidenhen køres op på en større database-server. Der findes da mange 'nice' programmer til at administrere på MySQL og MSSQL, og ang. at kopiere... ja, det kan man da godt:
Opret en database med samme navn på server du vil kopiere hen til, luk serveren ned, kopier db-filerne fra den gamle server over til den nye, og start serveren igen.
Prøv at læse mit spørgsmål... Der står, at der er en SQL database (mySQL). Og der står også, at jeg udemærket kender "SQL tabel optimize", den skal bare foretage det automatisk. Altså fx en gang i timen.
sql er et sprog (Structured Query Language), og en database, ja... en base for data. En SQL Database må altså være en base for data der bruger SQL til hente-gemme med, ergo går MS Acces, MS SQL, mySQL og mange mange andre ind under denne kategori.
Ved godt det var lidt forhastet at gå ud fra du bruge en MS Access database, men det gjorde jeg nu alligevel da det umiddelbart virkede som en typisk fejl i netop dette produkt og der er mange der bruger den som db i forbindelse med udvikling af asp.
Ja, lav en vbs-fil der indholder koden til at optimere dine tabeller, og sæt den til at eksekvere hver time ved hjælp af "Scheduled Tasks" under kontrolpanelet.
det kan jeg ikke bruge til noget, når jeg ikke har serveren hos mig...
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.