Permalänk
Medlem

MySQL fråga ang. belastning.

Som rubriken lyder så gäller detta mysql och vad som är att föredra för
att minska belastning på servern.

Det jag har tänkt göra är att ha en ganska stor meny med ca 20-25 kategorier.
Menyn ska använda en tabell för att ge möjlighet till att ta bort/lägga till nya kategorier.
Varje kategorier kommer ha mellan 5-10 under kategorier, dessa skall också gå att lägga till/ta bort så då till frågan.

Frågan: Är det en lägre belastning för MySQL servern att skapa 1 tabell
för varje kategori där underkategorierna sparas (5-10 rows) eller är det bättre
att skapa 1 tabell för alla underkategorier(125-200 rows) i syn på lägre belastning?.

mvh / ZarToK

Visa signatur

AMD Phenom II X6 1100T BE @ 4.3 Ghz , Gigabyte GA-990FXA-UD3 AM3+, Corsair 8GB CL9 1866Mhz, Gigabyte R9 280X 3Gb OC, SSD 120GB OCZ Vertex 2

Permalänk

Ha en tabell. Cache:a menyn som vanlig HTML i en fil på webservern. Då slipper du väldigt många queries.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av hagbarddenstore
Ha en tabell. Cache:a menyn som vanlig HTML i en fil på webservern. Då slipper du väldigt många queries.

Tack för svar och tipset!

Visa signatur

AMD Phenom II X6 1100T BE @ 4.3 Ghz , Gigabyte GA-990FXA-UD3 AM3+, Corsair 8GB CL9 1866Mhz, Gigabyte R9 280X 3Gb OC, SSD 120GB OCZ Vertex 2

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av ZarToK
Som rubriken lyder så gäller detta mysql och vad som är att föredra för
att minska belastning på servern.

Det jag har tänkt göra är att ha en ganska stor meny med ca 20-25 kategorier.
Menyn ska använda en tabell för att ge möjlighet till att ta bort/lägga till nya kategorier.
Varje kategorier kommer ha mellan 5-10 under kategorier, dessa skall också gå att lägga till/ta bort så då till frågan.

Frågan: Är det en lägre belastning för MySQL servern att skapa 1 tabell
för varje kategori där underkategorierna sparas (5-10 rows) eller är det bättre
att skapa 1 tabell för alla underkategorier(125-200 rows) i syn på lägre belastning?.

mvh / ZarToK

Jag skulle göra följande tabeller:

Kategori
# ka_id
# ka_namn

Koppling
# ko_id
(#) ka_id
(#) unke_id

UnderKategori
# unke_id
# unke_namn

Då har du dina kategorier, underkategorier samt vilken kategori som underkategorierna tillhör. Att leta fram menyn kommer inte sänka ner prestandan mer än vad andra jobbiga anrop till databasen gör. Det beror helt på användarna och vad dessa gör. I värsta fall kan du placera menyn statisk på webservern som kanske uppdateras när du har ändrat i menyn.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

hur ser sqlfrågan ut för att hämta hela strukturen, leedow? inklusive alla nivåer.

Visa signatur

P[a]cman äter spöken så ofta han kan.

citera mig, annars är risken överhängande att jag inte hittar tillbaka.

Permalänk
Medlem

Läs den här artikeln för tips om hur du kan lägga upp din tabell:

http://www.sitepoint.com/article/hierarchical-data-database/

Permalänk
Citat:

Ursprungligen inskrivet av Leedow
Jag skulle göra följande tabeller:

Kategori
# ka_id
# ka_namn

Koppling
# ko_id
(#) ka_id
(#) unke_id

UnderKategori
# unke_id
# unke_namn

Då har du dina kategorier, underkategorier samt vilken kategori som underkategorierna tillhör. Att leta fram menyn kommer inte sänka ner prestandan mer än vad andra jobbiga anrop till databasen gör. Det beror helt på användarna och vad dessa gör. I värsta fall kan du placera menyn statisk på webservern som kanske uppdateras när du har ändrat i menyn.

Precis, saker som är (relativt) statiska bör cachas på servern, memcache eller en vanlig filcache är nog det bästa.

Visa signatur

i am a sig. please don't eat me.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av pcman
hur ser sqlfrågan ut för att hämta hela strukturen, leedow? inklusive alla nivåer.

Jag antog, enligt frågan från skaparen till tråden, att det bara fanns en nivå. Kategori och underkategori. Önskar man ytterligare nivåer så lär datamodellen se annorlunda ut.

Oavsett hur man lagrar datamodellen så går det inte att lösa snyggt med bara en SQL-sats för flertalet nivåer. Det är nog en procedur som bör användas för att få fram ett bra resultat. Jag kan däremot bara tänka mig att det är en tabell som används om man har flertalet nivåer.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?