Array vullen in een loop
>>Qua query performance zie ik geen probleem. MySQL is snel en ik mag aannemen dat de interne SQL optimizer z'n werk doet.
Dat is een verkeerde aanname, als je een explain voor de query zet zal je zien dat je in totaal 10! tabellen daarin hebt.
Daarnaast zijn subqueries (virtuele tabellen) niet geindexed.
Dat is een verkeerde aanname, als je een explain voor de query zet zal je zien dat je in totaal 10! tabellen daarin hebt.
Daarnaast zijn subqueries (virtuele tabellen) niet geindexed.
PHP hulp
24/12/2024 18:45:28Kan je nagaan hoe snel de database is! :)
In mijn voorbeeld gebruik ik helemaal geen indexen. Die kun je eventueel toevoegen als je om extra performance verlegen zit. En wellicht is de query nog compacter te schrijven, alle wegen leiden naar Rome. Ik was met een klein kwartiertje klaar, en het principe is duidelijk. Tijd is ook van waarde.
Eerlijk gezegd heeft het er misschien mee te maken dat ik onlangs weer eens met Microsoft Access moest werken, met een paar honderd tabellen die allemaal afzonderlijk met een eigen OLE DB driver werkten, CSV als storage engine hadden en geen van alle indexen hadden. En zelfs in die situatie was de performance geen probleem met een query zoals mijn laatste query. Daarom maak ik me geen zorgen.
Het is wel teleurstellend om te horen dat de SQL optimizer van MySQL weinig bijdraagt. Niet dat ik het mis, maar het is weer een beperking van MySQL. Aan de andere kant is een query die handiger geschreven kan worden gewoon voor verbetering vatbaar, ik hoopte al op dergelijke reactie op het forum.
Dan nu de uitdaging hoe mijn voorbeeld verbeterd kan worden (als het inderdaad oplevert wat de vragensteller bedoelt). Als ik weer een kwartiertje tijd heb.
In mijn voorbeeld gebruik ik helemaal geen indexen. Die kun je eventueel toevoegen als je om extra performance verlegen zit. En wellicht is de query nog compacter te schrijven, alle wegen leiden naar Rome. Ik was met een klein kwartiertje klaar, en het principe is duidelijk. Tijd is ook van waarde.
Eerlijk gezegd heeft het er misschien mee te maken dat ik onlangs weer eens met Microsoft Access moest werken, met een paar honderd tabellen die allemaal afzonderlijk met een eigen OLE DB driver werkten, CSV als storage engine hadden en geen van alle indexen hadden. En zelfs in die situatie was de performance geen probleem met een query zoals mijn laatste query. Daarom maak ik me geen zorgen.
Het is wel teleurstellend om te horen dat de SQL optimizer van MySQL weinig bijdraagt. Niet dat ik het mis, maar het is weer een beperking van MySQL. Aan de andere kant is een query die handiger geschreven kan worden gewoon voor verbetering vatbaar, ik hoopte al op dergelijke reactie op het forum.
Dan nu de uitdaging hoe mijn voorbeeld verbeterd kan worden (als het inderdaad oplevert wat de vragensteller bedoelt). Als ik weer een kwartiertje tijd heb.