login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Performance probleem met PHP en SQL Server

Offline xSc - 20/09/2010 15:34 (laatste wijziging 20/09/2010 15:38)
Avatar van xScOnbekend Ik maak gebruik van een remote SQL server 2005 (Windows machine). Bij een andere host draait een website (Linux machine) met PHP. Nu heb ik een complexe boomstructuur (5 niveau's). Die werkt als volgt:

id naam koppelid

Als koppelid = 0, dan is het een hoofdgroep. De subgroepen (en verdere niveau's) kun je uitlezen door koppelid = opgegeven id. Ik maak dan gebruik van 5 nested queries.

Voor de verbinding maak ik gebruik van PDO:
new PDO('dblib:host=1.2.3.4:1433;dbname=database', 'user', 'password');

Nu het probleem: het uitlezen van de boomstructuur gaat goed, maar het duurt zoooo lang: ongeveer 15 seconden.

Nu kan ik de queryresultaten cachen. Dan duurt het slechts 1 - 2 seconden Maar er worden door de users verschillende wijzigingen aangebracht in de structuur, dus dan moet ik dat cachebestand regelmatig updaten en opnieuw uitlezen.

Wat is hierin wijsheid?

2 antwoorden

Gesponsorde links
Offline Joost - 20/09/2010 15:51
Avatar van Joost PHP expert Je database structuur aanpassen. De kans dat dit de snelste oplossing is is nihil.

Als je je db strutcuur geeft en wat je exact wilt kunnen we je verder helpen..
Offline xSc - 20/09/2010 17:17
Avatar van xSc Onbekend @Joost, die heb ik toch gegeven? 

id naam koppelid
1 Cat1 0
2 Subcat1 1
3 Subcat2 1
4 Cat2 0
4 Subsubcat1 2

Deze structuur is het, zeg maar. Maar ik doe dus geneste queries. Ik lees de hoofdcategorieen uit. In de while / foreach doe ik een nieuwe query met de categorieen waarvan koppelid is gelijk aan het id van de hoofdcategorie, etc. In MySQL gaat dit heel snel. Ik heb alleen nu de pech dat het uit SQL server moet komen, die ook nog een keer op een andere server staat.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.155s