---
title: "Hur ska man förbättra strukturen?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/51696-hur-ska-man-förbättra-strukturen"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ampy"
published: "2002-08-29T21:08:21.000Z"
updated: "2002-09-02T15:24:41.000Z"
replies: 11
views: 409
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/51696-hur-ska-man-förbättra-strukturen"
---

# Hur ska man förbättra strukturen?

## #1 — ampy, 2002-08-29T21:08Z

Har denna struktur i tabellen forum.

last - int(11)  
id - int(11)   
id_svar - int(11) 
skribent - varchar(50)  
subject - text
meddelande - text  
datum - varchar(50)  
typ - varchar(50)   
rum - varchar(50)  
datum2 - datetime  
skribent_id - int(11) 
locked - varchar(50)  
senasteinlagg - varchar(19) 
ampymail - varchar(50) 

Tabellen forum innehåller nu över 8000 poster och jag känner att foumet har blivit mer segladdat den senaste tiden. Beror säkert på att det har kommit fler poster. 

Men hur kan man förbättra denna strukur så att forumet laddas snabbare. Ska man använda index eller något?

Permalänk: https://www.webforum.nu/p/51696

## #2 — Jörgen HP, 2002-08-29T21:36Z

Hej!

Jag hade brutit ut topics från själva meddelandena.

RED:

ex:

\-- topics --

threadId
subject
date
...

\-- message --

messid
threadid
message
...
...

mvh Jörgen HP

Permalänk: https://www.webforum.nu/p/768461

## #3 — Erik Juhlin, 2002-08-29T21:48Z

Det hade inte jag gjort. :)

Permalänk: https://www.webforum.nu/p/768467

## #4 — BABBA, 2002-08-29T22:03Z

Uttömmande svar Erik...

Permalänk: https://www.webforum.nu/p/768472

## #5 — Jörgen HP, 2002-08-29T23:08Z

> **Erik Juhlin skrev:**
>
> Det hade inte jag gjort. :)

Eftersom det räcker att en (1) post i tråden innehåller subjektraden bör man bryta tabellen till två. Om man vill följa normaliseringsreglerna vill säga. :)

Permalänk: https://www.webforum.nu/p/768486

## #6 — Erik Juhlin, 2002-09-01T21:30Z

Första inlägget i en tråd är ju också en tråd så därför bör den ligga i samma tabell. Och svar kan också ha rubriker, wF har det ju t.ex.
Sen skulle man kunna bygga upp det i en trädstruktur där man även kan svara på svar om man vill. Då har man ett parentid som pekar på föräldern och som är NULL när det är en rot.

Att använda en tabell förenklar också när man ska söka eller ta reda på senaste inlägg i en tråd. :)

Permalänk: https://www.webforum.nu/p/770188

## #7 — Pace, 2002-09-01T21:51Z

Det beror ju också mycket på hur SQL frågorna ställs. Oftast ser man ju frågor i stil med "SELECT \* FROM tabell" för att sedan hämta/redigera/ta bort rätt post med ADO/recordset.

> **Erik Juhlin skrev:**
>
> Första inlägget i en tråd är ju också en tråd så därför bör den ligga i samma tabell. Och svar kan också ha rubriker, wF har det ju t.ex.

wF är uppbyggt kring den struktur som Jörgen säger. ;) 
Trådar separerade från inläggen är bäst, anser jag. Varför? Jo, eftersom trådarna innehåller en del info som inte har med inläggen att göra (antal visningar, vilket forum det tillhör, eventuell ikon, klistrad/avklistrad om man har sådana funktioner etc).

> **ampy skrev:**
>
> Men hur kan man förbättra denna strukur så att forumet laddas snabbare. Ska man använda index eller något?

Index och primärnycklar är att föredra, det snabbar ju upp hämtningen av varje inlägg till en viss tråd.

Använd EXPLAIN-syntaxen för att analysera resultatet av en SELECT-fråga också. Där får man värdefull info hur joins, index och data används.

Permalänk: https://www.webforum.nu/p/770204

## #8 — Jörgen HP, 2002-09-01T21:54Z

> **Pace skrev:**
>
> Det beror ju också mycket på hur SQL frågorna ställs. Oftast ser man ju frågor i stil med "SELECT \* FROM tabell" för att sedan hämta/redigera/ta bort rätt post med ADO/recordset.
> 
>
>
> > **Erik Juhlin skrev:**
> >
> > Första inlägget i en tråd är ju också en tråd så därför bör den ligga i samma tabell. Och svar kan också ha rubriker, wF har det ju t.ex.
>
> 
> 
> wF är uppbyggt kring den struktur som Jörgen säger. ;) 
> Trådar separerade från inläggen är bäst, anser jag. Varför? Jo, eftersom trådarna innehåller en del info som inte har med inläggen att göra (antal visningar, vilket forum det tillhör, eventuell ikon, klistrad/avklistrad om man har sådana funktioner etc).

Bra, då slapp jag säga vad jag skulle. :)

Permalänk: https://www.webforum.nu/p/770206

## #9 — Erik Juhlin, 2002-09-02T07:52Z

Ah, ok... De har trådar i en tabell, men första inlägget i tråden ligger inte i den tabellen utan i inläggstabellen..? :)

Permalänk: https://www.webforum.nu/p/770335

## #10 — Pace, 2002-09-02T12:39Z

Ja, precis.

Alla inlägg som tillhör en tråd betraktas som inlägg - oavsett ordning. Du skulle kunna ta bort ampys första inlägg, och det skulle fortfarande bli en tråd. Kanske inte lika lyckad, men ändå. ;)

Permalänk: https://www.webforum.nu/p/770472

## #11 — ampy, 2002-09-02T14:24Z

> **Pace skrev:**
>
> Index och primärnycklar är att föredra, det snabbar ju upp hämtningen av varje inlägg till en viss tråd.
> 
> Använd EXPLAIN-syntaxen för att analysera resultatet av en SELECT-fråga också. Där får man värdefull info hur joins, index och data används.

Jag har endast index och primärnyckel för id, räcker inte det eller ska man ha för alla kolumner?

Hur använder man EXPLAIN-syntaxen?

Sen om jag har fattat det rätt så ska man alltså ha alla inlägg i en tabell. Även det första. Sen i den andra tabellen ska man ha alla trådar med information som antal svar, besök, om den är låst m.m

Stämmer det?

Permalänk: https://www.webforum.nu/p/770566

## #12 — Chainsaw, 2002-09-02T15:24Z

> **ampy skrev:**
>
> Hur använder man EXPLAIN-syntaxen?

EXPLAIN SELECT \* FROM Vartsomhelst WHERE MumsigBärs='Guinnes';

Permalänk: https://www.webforum.nu/p/770599

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/51696-hur-ska-man-förbättra-strukturen
