Avatar billede yezper Nybegynder
13. august 2002 - 13:49 Der er 2 kommentarer og
1 løsning

Database vs. filer

Jeg driver et community, og har hidtil lagt de breve, som brugerne sender til hinanden, i databasen.

Databasen, som ligger på samme server som webserveren, er imidlertid begyndt at kræve lige lovligt mange resourcer, og jeg er derfor begyndt at tænke på at flytte nogle ting væk fra databasen.

Det jeg umiddelbart kunne gøre var at flytte de ovennævnte breve ud i filer, og så åbne dem med FSO eller Server.Execute, når brugerne beder om at læse filerne, og så blot gemme antallet af nye mails for hver enkelt bruger i en tabel.

På denne måde aflaster jeg databaseserveren, da den kun skal lave en simpel SELECT NewMails FROM MessageCount WHERE UserID = UserID istedet for at lave en SELECT COUNT(*) AS MailCount FROM Mailbox_Messages WHERE UserID = UserID AND RcpStatus = 100. Dette kan være en tidskrævende opgave, da der ligger ca. en halv mio. mails i databasen.

Spørgsmålet er så bare: Kan det betale sig? Eller vil jeg blot flytte belastningen, der pt. er på databasen, over på webserveren, så det går lige op? Eller vil resultatet ligefrem blive dårligere?

Hvad tror I?
Avatar billede keysersoze Ekspert
13. august 2002 - 14:20 #1
hvilken database?
Avatar billede kichian Nybegynder
13. august 2002 - 15:36 #2
Det kan typisk ikke betale sig at flytte data ud af databasen. I stedet bør du se på dine Indexer og underliggende filsystem.
Hvis du vil have lidt mere spræl i din DB, så kan du opdatere MessageCount når en bruger får en ny besked. Og tilsvarende tælle ned når en besked er læst.
Avatar billede yezper Nybegynder
13. august 2002 - 16:28 #3
keysersoze> Det er en Microsoft SQL Server 7 database.

kichian> Ja, jeg havde slet ikke tænkt over, at man kunne lave en kombination med en tabel til antallet af nye beskeder, og så have en tabel til brevene, hvor der kun slås op i, når brugerne tjekker posten.

Jeg tror, det bliver løsningen. Thanx :-)
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
Kurser inden for grundlæggende programmering

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