Avatar billede showsource Seniormester
21. februar 2008 - 09:02 Der er 4 kommentarer og
1 løsning

Hvilken query er bedst af disse to

Hvilken en af disse er at foretrække?
Eller skulle det gøres på en anden måde?

$nyuser = "(SELECT 'New user',`id`,`navn`,`email` FROM `a_users` WHERE `enddate` = 0)
          UNION
          (SELECT 'Resignup',`id`,`navn`,`email` FROM `a_users` WHERE `enddate` > 1 && `resignup` = 1)
          UNION
          (SELECT 'Expired',`id`,`navn`,`email` FROM `a_users` WHERE `enddate` < UNIX_TIMESTAMP() && `aktiv` = 1 AND `resignup` = 0)
          UNION
          (SELECT 'Deactivated',`id`,`navn`,`email` FROM `a_users` WHERE `enddate` != 0 && `aktiv` = 0)";


$user = "SELECT `id`,`navn`,`email`,`enddate`,`aktiv`,`resignup`
        FROM
      `a_users`
        WHERE
      `enddate` < UNIX_TIMESTAMP()
        OR
      `resignup` = 1
        OR
      `aktiv` = 0
        ORDER BY `enddate`,`navn` ASC";


Resultatet ender i en select boks hvor jeg bruger en
<optgroup label="New user"> ( eller f.eks. Resignup o.s.v.)
som "overskrift"

Med $nyuser kan jeg lave én forløkke til at vise selectboks, mens jeg med $user først laver et array og derefter bruger array'et til select'en

Når jeg spørger, er det fordi det virker som om $nyuser er længere tid om at blive afviklet end $user, som trods alt kræver noget mere kode,

$user =(forløkke, tjek værdier => put i array => brug array til output )

$nyuser (forløkke, lav output )
Avatar billede arne_v Ekspert
21. februar 2008 - 15:01 #1
De 2 queries laver ikke helt det samme, men en WHERE OR boer performe bedre end en UNION.
Avatar billede showsource Seniormester
21. februar 2008 - 15:19 #2
ok

"ikke helt det samme", resultatet er ens.

Og jeg holder mig umiddelbart til $user

Flere UNION er vel heller ikke for smart, forhold til at lade et serverscript "gøre jobbet" ?
Avatar billede arne_v Ekspert
22. februar 2008 - 03:24 #3
Hvis alternativet til UNION er 2 separate queries, så er UNION nogen gange en
god ide.
Avatar billede showsource Seniormester
22. februar 2008 - 08:09 #4
Ok.
Hvad med et svar?
Avatar billede arne_v Ekspert
22. februar 2008 - 13:14 #5
kommer her
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