Avatar billede wise Seniormester
19. juli 2002 - 11:13 Der er 7 kommentarer og
2 løsninger

Optimering af select statement i view (vælger pba. dato+bruger)

Hej I kloge mennesker...

Jeg har en to-do base med alle vores opgaver. I den base har jeg lavet en frameset der giver en genial oversigt over vores opgaver. Alle opgaver bliver opdelt i en matrix på 3*3 felter efter (haster, haster ikke, on hold) og (høj, middel eller lav prioritet).

Rent pratisk har jeg kodet det via et frameset med de 9 views på.
Inddelingen haster/haster ikke/on hold er lavet udfra datoen for næste deadline vs dags dato. Under 3 dage så haster det. Over 3 dage så haster det ikke. Hvis det er over 7 dage til og har en bestemt status, så er den on-hold.
Og selvfølgelig er der kun valgte den aktuelle users job.
Dette virker fint men men men der er lige et par "små" problemer...

1) Dette framset er 2-3 minutter om at loaded, da det skal selecte alle sager op i 9 forskellige views, baseret på dagsdato og aktuelle username.
2) Hvis der er flere der har framesettet åbnet samtidig kan man risikere at se de forkerte sager, så jeg fx får vist en kollegas sager i stedet for mine egne. Det sker kun hvis denne kolega lige har åbnet samme frameset.

Jeg ville meget gerne have bud på hvordan jeg får optimeret mine select-sætninger, kan jeg fx hente dato og username ind i en varibel, så de kun skal hentes en gang pr view? Er der forskel på hvilke ting jeg skriver først i select sætningen? (altså læser den kun en sammenligningen af gangen og dropper dokumentet så snart den møder en falsk) - Er der andet jeg kan gøre?

Er der desuden nogen som har nogle ideer om hvorfor den viser min kollegas sager og ikke mine hvis vi er flere der bruger viewet....
Avatar billede roed Nybegynder
19. juli 2002 - 11:18 #1
Jeg har selv haft et problem noget lignende. Til info kan nævnes at jeg har droppet den idé!
God jagt ;o)
Avatar billede wise Seniormester
19. juli 2002 - 11:40 #2
Hey, det var da ikke det mest optimistiske svar i dag ;-)
Avatar billede roed Nybegynder
19. juli 2002 - 11:45 #3
Nej vel. Men det var ærligt og realistisk ;o)
Avatar billede jjj Nybegynder
19. juli 2002 - 11:51 #4
Hvis du laver views, hvor du bruger @today, @now osv. så bliver de helt vildt langsomme. Derfor ville jeg lave et dato felt (viewfelter) på formen, som bliver sat via en agent som kører om natten, og bruge dette felt i viewene (dette gør at viewet ikke skal beregnes hver gang det åbnes).

Desuden kan du ikke bruger @username i views, du kan læse hvorfor i help basen. Men jeg ville så i stedet bruger readers felter, som så bliver sat alt efter hvem der må læse dem. Disse felter skal så også bruges i viewene.
Avatar billede wise Seniormester
19. juli 2002 - 11:56 #5
>>roed
Ja, det regnede jeg også med :-)

>>jjj
Angående viewfelter, ville du så lægge dagsdato ind i viewfelterne, eller direkte regne frem til hvilke af de 9 "felter" (views) den skulle medtages i?
Desværre ville det så også betyde at jeg skulle lave samme udregning ved hver ændring af et dokument. Det sker jo ofte i løbet af en sag at der ændres dato for næste deadline.

Angåede @username.
Ahhh, det forklarer jo en del - jeg vil lige kigge i designer help.
Readers fields klarer bare ikke helt det jeg vil, for jeg vil godt kunne se mine kollegaers sager, de skal bare ikke stå på min todo liste....
Avatar billede jjj Nybegynder
19. juli 2002 - 12:40 #6
Da jeg kan se at du ændre i dokumentet ville det nok ikke være smart med en scheduleret agent, så jeg ville nok bruge dagsdato i feltet. Det gør den mere fleksibelt.

Ang. readersfelter, kan du ikke få sat dit navn ind i de dokumenters readersfelter.
Avatar billede cdelicht Nybegynder
01. oktober 2002 - 08:06 #7
Løsningen er IKKE at bruge views i dit frameset! Lav i stedet en layout region hvor du tilføjer 9 lsitboxe. I disse lister du dine forskellige sager baseret på @DbLookup til views der indeholder præsis det de skal bruges til (f.eks. 1 for haster, 1 for haster ikke osv.).
På din layout region lægger du også et felt hvori man kan vælge hvis sager man ska lse (default=username). Værdien af dette felt bruger du ti lat selectere i din listboxe. Dvs. dine view ska lvære kategoriseret på ansvarlig (username).
(ikke så nemt at forklare men jeg ved det virker!  :-)  )
Avatar billede wise Seniormester
01. oktober 2002 - 09:16 #8
Cool Cdelicht, jeg kan godt se hvor du vil hen, den havde jeg ikke tænkt på før...
Jeg vil prøve at fifle med det....
Avatar billede wise Seniormester
15. januar 2003 - 10:19 #9
Jep, så kører den.
Det var primært det sidste svar fra Cdelight der hjalp mig på vej, så jeg deler 70/30, håber det er ok...
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