Optimering af database

Tags:    databaser

Sidder og flytter lidt rundt i en MySQL database, og er derfor nød til at slette nogle ting.

Hvis man feks har en table der hedder nyheder og der er måske 500 af dem, og man så sletter nr 300, sløver det databasen? Er der en hurtig og nem måde at rydde op(optimere) sin MySQL Db, uden at det genrerer nogle fejl når indholdet skal vises på siden?

Anders!



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Sidder og flytter lidt rundt i en MySQL database, og er derfor nød til at slette nogle ting.

Hvis man feks har en table der hedder nyheder og der er måske 500 af dem, og man så sletter nr 300, sløver det databasen? Er der en hurtig og nem måde at rydde op(optimere) sin MySQL Db, uden at det genrerer nogle fejl når indholdet skal vises på siden?

Anders!


Det sløver ikke databasen ned, bare fordi du fjerner en postering... Det burde derimod gøre den hurtigere, da der er mindre data at søge igennem.

rettede flytte om til "søge igennem"
-------------------------------
Hilsen Jimmi Westerberg
http://www.westsworld.dk

[Redigeret d. 27/09-05 17:26:39 af Jimmi Westerberg]



Sidder og flytter lidt rundt i en MySQL database, og er derfor nød til at slette nogle ting.

Hvis man feks har en table der hedder nyheder og der er måske 500 af dem, og man så sletter nr 300, sløver det databasen? Er der en hurtig og nem måde at rydde op(optimere) sin MySQL Db, uden at det genrerer nogle fejl når indholdet skal vises på siden?

Anders!


Hvis du havde et par millioner rækker i en tabel, og der var tunge indexes på, og du skulle fjern en del rækker, ville jeg nok skrive sql som smed indexet af tabellen, så delete de rækker på id som skulle ud og bagefter fyre noget sql af til at bygge indexene op igen.
For det kan være hurtigere at fjerne index, lave en enkelt dyr søgning i en delete og bygge hele indexet igen, end at skulle rette i et dyrt index en masse gange (et index er jo et balanceret træ, optimeret til søgning).

Men når du har måske 500 rækker, så burde dit index ikke tage ressourcer.



Sidder og flytter lidt rundt i en MySQL database, og er derfor nød til at slette nogle ting.

Hvis man feks har en table der hedder nyheder og der er måske 500 af dem, og man så sletter nr 300, sløver det databasen? Er der en hurtig og nem måde at rydde op(optimere) sin MySQL Db, uden at det genrerer nogle fejl når indholdet skal vises på siden?

Anders!


Hvis du havde et par millioner rækker i en tabel, og der var tunge indexes på, og du skulle fjern en del rækker, ville jeg nok skrive sql som smed indexet af tabellen, så delete de rækker på id som skulle ud og bagefter fyre noget sql af til at bygge indexene op igen.
For det kan være hurtigere at fjerne index, lave en enkelt dyr søgning i en delete og bygge hele indexet igen, end at skulle rette i et dyrt index en masse gange (et index er jo et balanceret træ, optimeret til søgning).

Men når du har måske 500 rækker, så burde dit index ikke tage ressourcer.


ok.. det lyder til at du har en temmelig sløv server, hvilket hardware har du i??

og så lige for at få det på det rene hvad angår et index, lad vær med at slette et index og så oprette det igen, grunden til det er i det du sletter indekset er mysql MEGET længere tid om at finde ud af hvilke rækker den skal slætter plus at imens du sletter eller opretter et index "write" låser du tabellen, hvilket betyder at du hverken kan læse eller skrive til tabellen, og selv om du sletter en god del fra din database sørger mysql selv for at holde index' optimerede

~ Steffen

\\"The only thing more frightening than a programmer with a screwdriver or a hardware engineer with a program is a user with a pair of wire cutters and the root password\\"
----------------------- EOF ----------------------



t