Avatar billede scuttlebutt Nybegynder
20. april 2002 - 17:11 Der er 17 kommentarer og
1 løsning

Elendig performance - databasens skyld?

Mit site kører utilgiveligt langsomt for tiden.
Det er bygget omkring en Access 2000 database, og jeg ved godt, at det ikke er en hurtig database, men sitet har kun 130 besøgende pr. dag for tiden, så den skulle vel kunne håndtere det...

Kan det tænkes, at selve serveren er "syg"?

Prøv selv at se en tilfældig side derinde:
http://www.everchangingart.com/ArtGallery.asp?mode=2&clue=distorted

En række oplysninger:
Sitet ligger på en Windows 2000 server
Hostes af Azero.dk
Access databasen fylder 27 MB

Håber, I kan hjælpe til opklaringen af dette. :-)

Morten
Avatar billede whatever Nybegynder
20. april 2002 - 17:19 #1
Jeg har selv et webhotel hos azero. Det kører også Windows 2000 Server. Og jeg har ikke problemer med hastigheden. Men jeg benytter også mySQL.
http://www.whateverworld.dk/aktivfritid/frameset.asp

Så mon ikke din database er lidt for stor og langsom.
Avatar billede keysersoze Ekspert
20. april 2002 - 17:19 #2
27MB for en database??? det var da utroligt meget - gemmer du billeder i den?

det kunne meget vel tænkes at databasen har en stor del af skylden - 27 MB er ret meget...
Avatar billede scuttlebutt Nybegynder
20. april 2002 - 17:21 #3
Jeg gemmer feedback kommentarer til de billeder jeg har på sitet. Der er 36.000+ af disse.
Ingen billeder bliver dog gemt i databasen - kun deres filnavn. :-)
Avatar billede scuttlebutt Nybegynder
20. april 2002 - 17:23 #4
Men betyder filstørrelsen på .mdb filen i realiteten noget?
Avatar billede tipsen Nybegynder
20. april 2002 - 17:48 #5
Har du sørget for at lave nogle smarte indekser, som benyttes i de udtræk du laver?
Avatar billede erikjacobsen Ekspert
20. april 2002 - 17:50 #6
Prøv at hente din .mdb fil hjem og få den "komprimeret"/"optimeret" eller
hvad det nu hedder i Access. Bliver den væsentligt mindre skal du
bruge den i stedet for.
Avatar billede scuttlebutt Nybegynder
20. april 2002 - 17:59 #7
Indekser? Alle tabeller har et AutoNumber felt ("ID"), men er det det, du mener med smarte indekser?

Jeg har optimeret databasen for nylig, og det reducerede filstørrelsen, men ikke performance'n. :-(
Avatar billede terry Ekspert
20. april 2002 - 18:01 #8
27 Mb isnt very big, Access databases can be 2GB! BUt try downloading your dB and running the compact repair on it as erikjakobsen says. You acn only do this when NO other users are accessing it!
Avatar billede erikjacobsen Ekspert
20. april 2002 - 18:03 #9
Laver du f,eks selects på andre felter end id. Altså udfører du

  select from tabellen where etellerandetfelt=enværdi

så har du nok brug for et indeks på det eller de felter. Måake...
Avatar billede scuttlebutt Nybegynder
20. april 2002 - 18:08 #10
OK. Men kan det så nogensinde betale sig IKKE at alle indexere sine data?

Jeg bruger altid "SELECT * FROM..." - er det en alvorlig brøler? :-/
Avatar billede terry Ekspert
20. april 2002 - 18:13 #11
It as almost always BEST that you have indexes on the fields which you use for selecting your data (WHERE clause)
Avatar billede stigc Nybegynder
20. april 2002 - 18:14 #12
"SELECT * FROM..."  er ikke alvorligt..
Du behøver ikke indekser på alle dine felter, det medfører langsomme updates og inserts, og databasen bliver bare større.

Du skal ha indeks på de felter du ofte bruger i WHERE delen. Hvis dine id'er er primære nøgler, er de automatisk indekseret.
Avatar billede erikjacobsen Ekspert
20. april 2002 - 18:14 #13
det kommer an på hvilke felter du bruger
Avatar billede terry Ekspert
20. april 2002 - 18:14 #14
It is also BEST to select ONLY the fields which you want to see, so * isnt so good unless you on have a few fields :o)
Avatar billede scuttlebutt Nybegynder
20. april 2002 - 18:21 #15
Tak til jer alle! Jeg er allerede blevet en del klogere! Tak for hjælpen!
Avatar billede erikjacobsen Ekspert
20. april 2002 - 18:29 #16
....og et andet ekesempel. Laver du en

  select * from tabellen where beskrivelse like '%ostemad%'

så hjælper indexet ingenting. Den skal alt igennem
Avatar billede keysersoze Ekspert
20. april 2002 - 18:44 #17
en access database på nettet anbefales fra flere steder ikke at indholde mere end maks 10.000 poster - jeg tror, at du (hvis du kunne/have lyst og tid) ville få meget ud af at skifte til en MySQL
Avatar billede scuttlebutt Nybegynder
20. april 2002 - 19:01 #18
Det er osse planen at skifte til mySQL, når jeg kommer ud af kløerne på Azero.dk...

Så det kan være jeg vender tilbage med et spørgsmål om konvertering fra Access til mySQL inden længe... ;-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester