Avatar billede sukos Juniormester
09. maj 2003 - 12:33 Der er 11 kommentarer og
1 løsning

1 query eller 100 små i PHP

Kan se muligheder i at lave en query som henter fra flere tables, men er en stor bedre end "100" små.
Når resultatet skal vises afhængigt af hvilke variabler som er sat???????????

Hvor meget belastes serveren egentlig?
Avatar billede disky Nybegynder
09. maj 2003 - 12:37 #1
Det afhænger helt af situationen.
Avatar billede sukos Juniormester
09. maj 2003 - 12:40 #2
HE! :O)
Avatar billede sukos Juniormester
09. maj 2003 - 12:41 #3
En stor med en del vars som senere skal bruges, måske, eller flere små som tager straight specifikke ting fra DB'en
Avatar billede sukos Juniormester
09. maj 2003 - 12:43 #4
Kunne iøvrigt ha' set godt ud, hvis jeg bare havde accepteret dit svar, og så ikke mere!!! :O)
Avatar billede sukos Juniormester
09. maj 2003 - 12:46 #5
En stor med en del vars som senere skal bruges, måske, eller flere små som tager straight specifikke ting fra DB'en når var'en er sat
Avatar billede disky Nybegynder
09. maj 2003 - 12:47 #6
100 queries belaster umiddelbart databasen mere end 1 stor, men du kan sagtens lave en query der belaster mange gange mere end 100 simple.

Som sagt det afhænger afsituationen, så uden mere dydegående kendskab til dine tabeller og den måde du ønsker at hente indhold på, kan vi ikke hjælpe.
Avatar billede erikjacobsen Ekspert
09. maj 2003 - 12:48 #7
Men disky har jo ret...

Kan du beskrive situationen kan vi måske hjælpe. Nu siger du "100"
og så er min reaktion: så hellere én stor. Men ... situationen?
Avatar billede sukos Juniormester
09. maj 2003 - 12:58 #8
hmmm, jaja, nu er 100 jo også overdrevet, men det jeg tænkte på var hvor meget serverkraft, (og kodning), man kan spare på at lave en query med vars som måske skal bruges senere igen, i stedet for flere forskellige alt efter hvilken vars som hentes.

Er der f.eks. et galleri med forskellige kunstnere, som hver har deres randombilleder som kører på alle sider opppe til højre, (små thumbs, som også bliver vist når man går ind på galleriet), som linker direkte til det store  billede, og på den side kan man også se info for kunstneren.
Avatar billede sukos Juniormester
09. maj 2003 - 13:00 #9
Mere fordi jeg er ikke umiddelbart overbevist om at en query med en masse vars er bedre/hurtigere end nogle små specifikke når de skal bruges.
Men der er osse en satans masse jeg IKKE VED!!!!!!!!
Avatar billede arne_v Ekspert
09. maj 2003 - 20:05 #10
Bedre afhænger meget af hvor flaskehalsen er.

Hvis netværket er flaskehalsen så vil det formentlig være
optimalt med en stor multi join query, fordi så skal færrest
mulige data flyttes over netværket.

Hvis CPU på database serveren er flaskehalsen så vil flere små queries
formentligt være optimalt, da al sammenligning og smiden data væk foregår
på i PHP.

Hvis disk IO på database serveren er flaskehalsen så vil jeg tro
at det ikke gør nogen forskel (forudsat at database serveren er smart nok til
kun at læse data en gang i en stor multi join query).

Hvis CPU på PHP serveren er flashalsen så vil jeg tror at det vil
være optimalt med en stor multi join query.

Og hvis du undrer dig over alle de "formentlig": det er meget svært
at forudsige hvad der performer godt i en database uden at prøve det.

Hvis jeg skulle skrive noget kode ville jeg lave det i en stor
multi join query medmindre jeg havde brug for at styre det hele selv
p.g.a. meget specielle krav til logikken.
Avatar billede sukos Juniormester
11. maj 2003 - 23:11 #11
jamen det var jo noget der lignede noget!
smid gerne et svar
Avatar billede arne_v Ekspert
12. maj 2003 - 07:05 #12
svar
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