/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Performance ved opbygning af navigationstr~
Fra : Thomas Christensen


Dato : 24-05-05 09:59

Er der nogen her i gruppen der har erfaringer med opbygning af
navigationstræer på basis af databaser?

Jeg anvender et javascript (dtree) fra
http://www.destroydrop.com/javascripts/tree/
og en Access database for at fylde værdier i træet.

Det fungerer for så vel fint - meeeen er noget sløvt.

Mine data i databasen indeholder ejendomme, underliggende bygninger og
herunder underliggende etager.
Jeg skal således bygge en struktur op der ser således ud:
Ejendom 1
Bygning A
Etage 0
Etage 1
Etage 2
.....
Bygning B
Etage 0
....
Ejendom 2
Bygning R
Etage 1
...
Bygning T
Ejendom 3
..... osv.

Jeg henter data ved at loope mig igennem hver enkelt ejendom - finde
tilhørende bygninger (nestet loop) og herunder loope igennem hver
bygning og finde tilhørende etager (nestet):

loop ejendom
kald dtree funktion
loop bygning
kald dtree funktion
loop etage
kald dtree funktion
slut loop etage
slut loop bygning
slut loop ejendom

Jeg ved godt at dette ikke er den mest effektive måde at gøre tingene på
SÅ DERFOR:
Er der nogen der har erfaring med indlæsning af recordset i array
(getrows) og at anvende dette for opfyldning af træet eller andre
metoder der kan øge performance??
Cache af data kunne også være en mulighed da de data jeg anvender for
opfyldning af træet ikke opdateres ret tit (men dog tit nok til at
anvende en dynamisk løsning)

mvh

Thomas Christensen

 
 
terje (24-05-2005)
Kommentar
Fra : terje


Dato : 24-05-05 17:06

Thomas Christensen wrote:

> Jeg ved godt at dette ikke er den mest effektive måde at gøre tingene på
> SÅ DERFOR:
> Er der nogen der har erfaring med indlæsning af recordset i array
> (getrows) og at anvende dette for opfyldning af træet eller andre
> metoder der kan øge performance??
> Cache af data kunne også være en mulighed da de data jeg anvender for
> opfyldning af træet ikke opdateres ret tit (men dog tit nok til at
> anvende en dynamisk løsning)

GetRows kan sikkert bedre hasigheten noe, men ditt hovedproblem synes
jeg er at du har valgt feil løsning. Å kalle en database _hver eneste
gang_ noen vil se en av dine sider kun for å fylle et navigasjonstre, er
sløsing med ressurser. For små/mindre web steder tror jeg den beste
løsningen er å ha en enkelt navigasjons side som du redigerer manuelt
etter hvert som du legger til nye sider og så inkluderer denne i de
sidene der du vil ha denne navigasjonen. I dette tilfeller redigerer du
altså javascript koden. Dette tror jeg er den klart beste løsningen,
ihvertfall for mindre web steder med, la oss si, inntil ca. 50 sider?

Når web stedet vokser seg større kan du gjøre følgende: Du lager et eget
skript som henter ut dine data fra databasen og som deretter lagrer
dette i en vanlig html fil. (Dette er en måte å "cache" data på som du
selv er inne på.) Denne inkluderer du så i hver side. Hver gang du
skriver inn en ny side/link i databasen så kjører du dette skriptet som
først sletter den gamle html-filen, og så lagrer den nye.

Dersom du benytter dette javascript treet så kan det muligens bli et
problem å integrere denne siste metoden i selve javascript-koden, men
det er en annen skål.


terje?


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste