Avatar billede poulsgaard Praktikant
21. april 2004 - 09:13 Der er 2 kommentarer og
1 løsning

Bedre Performance/størrelse

Hej

Jeg har en DB med ca. følgende felter:

id, Timestamp, name[char 35], meanvalue, minvalue, maxvalue, STDV.

Med et fast interval logger jeg ca 300 forskellige "name" med tilhørende timestamp, min, mean,max og stdv.

Der er altså mange dubletter på name i min tabel.

Mit spørgsmål:

Er det en "dårlig" database der logger name (char 35) hver gang istedet for en relation til en tabel med : nameid(int), name(char35).

der jeg tænker på er at jeg jo logger 36 bytes hver interval, istedet for en int (4-8 byte).

Vil det hjælpe at lave index på feltet name ??

Peder Poulsgaard
Avatar billede trer Nybegynder
21. april 2004 - 09:19 #1
Det tager længere tid at logge hvis du har en relation - og indeks vil også påvirke hastigheden men negativt, da indeks så skal opdateres. Og jeg formoder at du allerede har et indeks på ID ? 

Jeg formoder at du ikke laver nogen søgninger i tabellen i forbindelse med indsættelse - men blot laver en rå INSERT ?

Du kan spare lidt plads ved at skifte din CHAR(35) ud med en VARCHAR(35) - så vil name nemlig kun fylde det antal tegn der reelt set er behov for.

Videre mht at splitte op - ja, det bruger lidt mere plads, men i virklighedens verden vil man ofte vælge at denormalisere dele af en OLTP database for at opnå større hastighed - så det er ikke en "dårlig" database. I en skolesituation ville du så få på puklen for det - men det er en anden sag :-)
Avatar billede poulsgaard Praktikant
17. maj 2005 - 14:49 #2
smid et svar trer
Avatar billede poulsgaard Praktikant
24. maj 2005 - 10:01 #3
lukker
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