sql >> Database >  >> RDS >> Mysql

Wat is het optimale MYSQL-querynummer in php-script?

Ik hou de mijne graag onder de 8.

Maar serieus, dat is vrij zinloos. Als er hypothetisch een reden voor u was om 800 zoekopdrachten op een pagina te hebben, dan zou u dat kunnen doen. U zult waarschijnlijk merken dat het aantal zoekopdrachten per pagina eenvoudigweg afhangt van wat u doet, hoewel ik onder normale omstandigheden verbaasd zou zijn als ik er meer dan 50 zou zien (hoewel het tegenwoordig moeilijk kan zijn om te beseffen hoeveel wat u doet als u uw DB-aanroepen weghaalt).

Langzame zoekopdrachten zijn belangrijker

Vroeger was ik gefrustreerd over bepaalde op PHP gebaseerde forumsoftware die 35 vragen op een pagina had en erg traag was, maar dat was lang geleden en ik weet nu dat de reden dat bepaalde installatie traag verliep niets te maken had met het hebben van 35 zoekopdrachten op een pagina. Slechts een of twee van die zoekopdrachten namen bijvoorbeeld de meeste tijd in beslag. Het had alleen een paar erg trage zoekopdrachten, die werden opgelost door goed geplaatste indexen.

Ik denk dat het identificeren en oplossen van langzame zoekopdrachten moet komen voordat onnodige zoekopdrachten worden geïdentificeerd en geëlimineerd, omdat dit mogelijk veel meer verschil kan maken.
Bedenk zelfs dat drie snelle zoekopdrachten aanzienlijk sneller kunnen zijn dan één langzame zoekopdracht - het aantal zoekopdrachten doet dat wel hebben niet noodzakelijk betrekking op snelheid.

Ik heb één pagina (die eigenlijk een soort testcase/diagnosetool is die alleen door een beheerder kan worden uitgevoerd) die meer dan 800 zoekopdrachten bevat, maar die binnen enkele seconden wordt uitgevoerd. Ik denk dat het allemaal heel simpele vragen zijn.

Probeer cachen

Er zijn verschillende manieren om delen van uw toepassing in de cache op te slaan, wat het aantal zoekopdrachten dat u doet aanzienlijk kan verminderen, zonder dat dit ten koste gaat van de functionaliteit. Bibliotheken zoals memcached maken dit tegenwoordig triviaal gemakkelijk en toch heel snel. Dit kan ook helpen om de prestaties veel meer te verbeteren dan het aantal zoekopdrachten te verminderen.

Als zoekopdrachten echt niet nodig zijn en de prestaties echt een verschil maken, verwijder/combineer ze dan

Overweeg om eerst naar langzame zoekopdrachten te zoeken en deze te optimaliseren, of de resultaten ervan in de cache op te slaan.



  1. Een trigger maken in Oracle Express

  2. PRVG-2027 Eigenaar van bestand is inconsistent tussen knooppunten

  3. Hoe SQLOPS op een Mac te installeren

  4. group_concat en hoe rijnummer in sqlite te gebruiken