Ik heb eigenlijk 2 vragen.
Eerst vraag:
Wat levert meer performance (wat gaat sneller, en wat levert het minste serverload op)
Zoveel mogelijk info uit 1 query halen mbv if's en joins, of in php gewoon 2 of 3 enkele queries uitvoeren, en daarin alle ifjes afhandelen.
En dan de 2e vraag, ik ga er eig van uit dat 1 query gebruiken het snelst is, en dan zal ik dus ook meteen met een praktisch voorbeeld komen, waar ik niet helemaal uit kom
Ik heb een table met usernames en passwords, en een userid. Nu staan daaronder weer 2 tables, een voor bedrijven en een voor niet-bedrijven, die zijn aan gelinkt aan de user table met user_id.
Nou is het eerste probleem, hoe weet je bij een inlog of het om een bedrijf gaat of niet. Je zou natuurlijk een extra veld kunnen maken in de user table, waar dat in staat. Maar dan heb je ook een extra query nodig om de info weer op te halen (dacht ik).
Daarom had ik dit bedacht:
Nou kan ik me voorstellen dat jullie dit heel erg lelijk vinden, ik ben er zelf ook nog niet helemaal van overtuigd, maar het werkt prima moet ik zeggen, omdat de user_id altijd maar 1 keer voorkomt in de 2 tabellen.
Vraag: wat vinden jullie van deze methode, en is het sneller / beter dan een extra veld aanmaken en die eerst ophalen.
Volgende vraag, ik wil deze query gelijk combineren met nog een if luss, namenlijk:
Deze vond ik op internet, en leek me erg cool, want dat scheelt je weer extra code, want normaal haal ik eerst de shit op die bij het email adres hoort, en dan check ik het in php. Nu weer de vraag, zal dit sneller zijn? En de 2e vraag, hoe combineer ik deze met de vorige query, zodat als het password klopt met het emailadres, de eerste query wordt uitgevoerd, en dus meteen alle data wordt opgehaald.
Ik ben erg benieuwd nar jullie inzichten in deze
Eerst vraag:
Wat levert meer performance (wat gaat sneller, en wat levert het minste serverload op)
Zoveel mogelijk info uit 1 query halen mbv if's en joins, of in php gewoon 2 of 3 enkele queries uitvoeren, en daarin alle ifjes afhandelen.
En dan de 2e vraag, ik ga er eig van uit dat 1 query gebruiken het snelst is, en dan zal ik dus ook meteen met een praktisch voorbeeld komen, waar ik niet helemaal uit kom
Ik heb een table met usernames en passwords, en een userid. Nu staan daaronder weer 2 tables, een voor bedrijven en een voor niet-bedrijven, die zijn aan gelinkt aan de user table met user_id.
Nou is het eerste probleem, hoe weet je bij een inlog of het om een bedrijf gaat of niet. Je zou natuurlijk een extra veld kunnen maken in de user table, waar dat in staat. Maar dan heb je ook een extra query nodig om de info weer op te halen (dacht ik).
Daarom had ik dit bedacht:
MySQL:
1
2
3
4
5
| SELECT IFNULL( bedrijvendata.naam, kandata.naam ) AS naam, userdata.user_id FROM `bedrijvendata` , `kandata` RIGHT JOIN `userdata` ON bedrijvendata.user_id = userdata.user_id AND kandata.user_id = userdata.user_id WHERE userdata.email = 'email@gmail.com' |
Nou kan ik me voorstellen dat jullie dit heel erg lelijk vinden, ik ben er zelf ook nog niet helemaal van overtuigd, maar het werkt prima moet ik zeggen, omdat de user_id altijd maar 1 keer voorkomt in de 2 tabellen.
Vraag: wat vinden jullie van deze methode, en is het sneller / beter dan een extra veld aanmaken en die eerst ophalen.
Volgende vraag, ik wil deze query gelijk combineren met nog een if luss, namenlijk:
code:
1
| SELECT IF( password ='pass5wrod' , 'yes', 'no' ) FROM userdata WHERE email = 'email@gmail.com' |
Deze vond ik op internet, en leek me erg cool, want dat scheelt je weer extra code, want normaal haal ik eerst de shit op die bij het email adres hoort, en dan check ik het in php. Nu weer de vraag, zal dit sneller zijn? En de 2e vraag, hoe combineer ik deze met de vorige query, zodat als het password klopt met het emailadres, de eerste query wordt uitgevoerd, en dus meteen alle data wordt opgehaald.
Ik ben erg benieuwd nar jullie inzichten in deze