Archief - PHP/MySQL: tunen/optimalizeren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Disa

Legacy Member
Ik ben zowat opzoek naar een paar tips/hints om men site up te 'tunen' qua snelheid. Dan niet zozeer aan de html/css stuff maar aan de coding zelf en dan vooral de mysql queries. Alle info is welkom.

Many thanks,

Disa

Tyfius

Legacy Member
Klassen gebruiken, soort core voorzien en altijd een pointer naar core gebruiken zodat je niet in elke klasse die de db aanspreekt moet gaan de db includen, of elke keer als je van pagina veranderdt en de core dus van 0 af aan dient opgebouwd te worden alles nog eens extra in het geheugen wordt geladen.

Zoveel mogelijk in 1 en dezelfde mysql_connect(); doen, voor menu, nieuws, ... elke keer een nieuwe connect aan te roepen. Ook sluiten wanneer de pagina volledig geladen is.

Coax

Legacy Member
Ge kunt uw php compileren.
En indexes maken op uw mysql.
Googlen maar. :)

Disa

Legacy Member
Tyfius zei:
soort core voorzien en altijd een pointer naar core gebruiken zodat je niet in elke klasse die de db aanspreekt moet gaan de db includen, of elke keer als je van pagina veranderdt en de core dus van 0 af aan dient opgebouwd te worden alles nog eens extra in het geheugen wordt geladen.

Uhm, zou je hier wat meer info over willen/kunnen geven? Het ziet er nogal interessant uit. :)

thx disa

killgore

Legacy Member
templatesysteem & alles wat niet gebruikers-specifiek is geparsed opslaan!

bv. nieuws wordt enkel gewijzigd bij toevoeging nieuw item -> dan opnieuw laten parsen, anders geparste versie laten ophalen.

Ook zoveel mogelijk hergebruiken en gebruik liever grotere queries dan dat je 10x moet querieen

ook niet loopen maar joins gebruiken ;).

dJeez

Legacy Member
killgore zei:
Ook zoveel mogelijk hergebruiken en gebruik liever grotere queries dan dat je 10x moet querieen
Maar hierbij aansluitend : gebruik NOOIT select *, benoem steeds de kolommen en haal enkel die kolommen op die je effectief nodig hebt. Caching (zoals hierboven aangehaald, doch zonder de term te gebruiken) zorgt uiteraard ook voor een serieuze snelheidswinst en lagere load op de DB en de webserver (aangezien de gecachete templates niet geparsed dienen te worden).

Om je MySQL queries te optimalizeren kan je EXPLAIN gebruiken. Nu ja, eigenlijk zou je het hele Optimization hoofdstuk van de MySQL manual best eens doornemen.

killgore

Legacy Member
ow, en natuurlijk: geen mysql-optimalisatie verspillen door slechte php code!

en houd u niet bezig met petieterige zaken (zoals , i.p.v. . om te concatenaten of ' ipv " in strings die geen php-vars gebruiken, ...).

wat bv. belangerijk kan zijn:

$s = sizeof($array);
for($i=0;$i<$s;$i++);

is veeeeeeeeeeel sneller dan:
for($i=0;$i<sizeof($array);$i++);

en zo zijn er nog een paar ;).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan