Avatar billede ml Nybegynder
10. november 2006 - 11:32 Der er 4 kommentarer og
2 løsninger

Flere IDer i en tabel eller flere relationstabeller?

Jeg er ved at lave et kommentarsystem, som skal bruges til alt muligt på en portal, hvorfor tabellen med kommentarerne skal relatere til mange forskellige IDer. F.eks. UserProfileID, ArticleID, PhotoID osv. Der vil med tiden komme rigtig mange kommentarer og hastighed er klart det vigtigste.

Spørgsmålet er om jeg skal lave én tabel med alle ID'er:

[Comments]
CommentID
UserID
UserProfileID
ArticleID
PhotoID ...
CommentText

Eller jeg skal lave én tabel til kommentarene og en relationstabel til hver relation:

[Comments]
CommentID
UserID
CommentText

[UserProfileCommentsRelations]
ID
CommentID
UserProfileID

[ArticleCommentsRelations]
ID
CommentID
ArticleID

[PhotoCommentsRelations]
ID
CommentID
PhotoID

Eller noget helt 3. ?
Avatar billede arne_v Ekspert
10. november 2006 - 23:58 #1
1:M relation => ekstra felt
M:M relation => ekstra tabel med to felter
Avatar billede arne_v Ekspert
11. november 2006 - 04:05 #2
og hvis jeg snakker sort, så prøv og læs http://www.eksperten.dk/artikler/55
Avatar billede ml Nybegynder
13. november 2006 - 08:22 #3
1:M relation => ekstra felt
M:M relation => ekstra tabel med to felter

- det er jeg klar over :)

Det jeg er ude efter er rent speed, altså hvad der er hurtigst i produktion?
Avatar billede arne_v Ekspert
14. november 2006 - 04:07 #4
nogen gange kan man godt optimere ved at denormalisere

men:
1) hvis det ikke er nødvendigt så er det dumt
2) hvorvidt det er en fordel vil som oftest kræve en test

derfor:
  - lav nogle forskellige strukturer
  - hæld samme store mængder data i alle
  - test med dine faktisk queries
Avatar billede ml Nybegynder
14. november 2006 - 09:14 #5
Okay, fair nok - jeg tester mig frem. Man kan jo også altid lave det om hvis det er hel hen i vejret ;)

Vil du have lidt points?
Avatar billede arne_v Ekspert
15. november 2006 - 03:05 #6
jo
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