13. april 2013 - 13:26Der er
4 kommentarer og 1 løsning
PHP/MySQL - 1 tabel eller flere tabeller?
Hejsa,
Jeg har en hjemmeside som har 3 typer indhold på nuværende tidspunkt. Disse er delt op i 3 tabeller idet at der er forskellige kolonner. Problemet er egentlig at jeg nu har en masse arbejde med inner join, left join osv. osv. idet at mange af tabellerne skal vises "samlet". Eksempelvis hvis der står "nyeste indhold", så skal jeg koble alle 3 tabeller sammen og sortere dem efter timestamp.
Havde jeg nu haft 1 tabel var det én nem forespørgsel.
de 3 tabeller kan se sådan her ud:
T1: spil_id titel beskrivelse spil_link timestamp hits billede
T2: film_id titel beskrivelse film_link timestamp hits billede
T3: artikel_id titel beskrivelse tekst timestamp hits billede
Skulle man koble dem alle sammen, så ville det måske se sådan her ud:
indholds_id titel beskrivelse tekst link billede thumbnail type timestamp hits
Nu er overstående tabeller fiktive. Der er nogle flere felter i mine tabeller, men der hvor jeg vil hen er: Der vil i nogle tilfælde være 50% af felterne der står tomme. Vil det påvirke hastigheden på siden eller er det fuldstændig ligegyldigt?
Mit design og mine ønsker vil blive LANGT nemmere at programmere/lave hvis jeg kan have det hele i én tabel, men det kræver altså at hastigheden/performance osv. ikke påvirkes, eller det er så lidt at det er fuldstændig irrelevant.
Det samme med kommentarer.. Lige nu har jeg 3 kommentar tabeller, men der tænkte jeg at eftersom der er knap 50.000 kommentarer, så ville databasen blive belastet unødvendigt ift. 3 separate tabeller.
Jeg vil helt klart bruge en tabel til indhold med type som identifikation. Det er lidt lige meget om alle felter ikke bruges bare de optimeres i selve tabellen. Tænk på sider som facebook der du kan udfylde 100 forskellige felter og alle skal kontrolleres for data når siden vises. Nu bruger facebook ikke sql hvad jeg kan huske men tror godt du kan se min pointe.
Når det kommer til kommentarer bliver det også nemmere med indholdet i en tabel da du kun behøver en til kommentarer med link til hvad indhold den linker til.
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.