Avatar billede medusa Nybegynder
13. oktober 2000 - 14:20 Der er 8 kommentarer og
2 løsninger

Hvad er bedst??

Hvad er bedst set fra plads- og performance-synspunkt?
At oprette en ekstra tabel eller indsætte et ekstra felt i en eksisterende tabel?
Avatar billede powell Nybegynder
13. oktober 2000 - 14:25 #1
Det kommer and på lidt af værd.

Pkt 1. Hvis det handler om en tabel hvor alle dataerne er samlet, ville jeg foretrække dette, det er hurtigt at finde dataerne, og det eneste det gør den en anelse langsommere er at du skal tage højde for en ekstra tabel.

Skal du til at hente data fra to tabeller, og de ikke har noget med hinanden at gøre, så ville jeg nok andvende denne løsning. Men er der krydshendvisninger til dem begge, er det en fordel at havde dem samlet under et tag.
Avatar billede halnet Nybegynder
13. oktober 2000 - 14:26 #2
Det kommer an på hvordan din tabel er sat op!!

Men jo smallere din tabel er jo hurtigere er den... men hvis du deler den op i to tabeller og den stadig skal hente fra begge er der ingen ide i det!!

Lidt kryptisk, men til at forstå?

- Anders
Avatar billede stig3 Mester
13. oktober 2000 - 14:26 #3
Hvad pladsforbruget angår kommer det an på hvilket felt der er tale om. For at overholde 3. normalform må ingen af felterne, der ikke er en del af nøglen, ikke have indbyrdes afhængighed. Eksempelvis:

ID - nøgle
navn
postnr
by

Her er by afhængig af postnr og derfor skal disse smides over i en tabel for sig. Performance mæssigt vil jeg tro at det er bedst at beholde dem i én tabel, da man så kun skal lede i en tabel.
Avatar billede stig3 Mester
13. oktober 2000 - 14:28 #4
et ikke for meget

Jeg mente:
Hvad pladsforbruget angår kommer det an på hvilket felt der er tale om. For at overholde 3. normalform må ingen af felterne, der ikke er en del af nøglen, have indbyrdes afhængighed.

Avatar billede medusa Nybegynder
13. oktober 2000 - 14:29 #5
Det drejer sig om at lave en transaktion. En bestilling skal først godkendes af kunden. Hvilket opstiller muligheden at gemme bestillingen i en ekstra temp-tabel indtil den bliver godkendt eller at indsætte et ekstra felt i bestillingstabellen, som så sættes true når bestillingen  bliver godkendt. Oprydning sker så ved cronjob/crontab. Hvilken løsning skal jeg bruge, og med hvilken begrundelse?
Avatar billede stig3 Mester
13. oktober 2000 - 14:32 #6
Jeg havde tilføjet den i den eksisterende tabel, da det formodentligt kræver mindst arbejde og feltet er ikke afhængig af nogen af de andre, så 3 NF skulle være opfyldt.
Avatar billede powell Nybegynder
13. oktober 2000 - 14:32 #7
Jeg ville nok opstille to tabbeler så. Det andet vil hive hastigheden ned på den oprindelige tabel, og en let overførsel til tabellen ville værre at foretrække.

Lav en ny tabel.
Avatar billede medusa Nybegynder
13. oktober 2000 - 14:42 #8
Og her troede jeg der var et entydigt svar på spørgsmålet! :-)

Andre som har en mening??
Avatar billede stig3 Mester
13. oktober 2000 - 14:46 #9
performance mæssigt har han nok ret, men det vil være nemmere for dig at tilføje et felt i tabellen...........
Avatar billede medusa Nybegynder
13. oktober 2000 - 14:51 #10
Det behøver jo ikke være en let løsning. Det skal bare være mest effektivt.
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