31. maj 2007 - 18:27Der er
12 kommentarer og 1 løsning
Åbn fil og hent alle mysql_queries
Hej Eksperter,
Jeg har en masse dårlige sql_queries som jeg gerne vil have optimeret. Jeg har gået en masse af dem igennem manuelt, men så tænkte jeg, om det ikke kunne gøres automatisk. Jeg har tænkt mig del således: 1. Åbn php-filerne i en mappe, én efter én. 2. Hent alle SELECT queries. f.eks. mysql_query("SELECT celle FROM tabel WHERE noget='etellerandet'"); Alle disse sql_queryes skal herefter udskrives: mysql_query("explain SELECT celle FROM tabel WHERE noget='etellerandet'");
På denne måde kan jeg hurtigt se, hvilke queries der skal optimeres :)
Altså, Nu gør jeg således: kigger hundredevis af php-filer igennem, tager hver eneste select-sql-statement i hver eneste fil og smækker den ind i phpmyadmin med Explain foran og derved kan jeg optimere min kommando.
Det kunne være rart med et script, der automatisk kører gennem alle mine php-filer, henter alle select-sql-statement og udfører dem med EXPLAIN foran. Så kan jeg så herefter optimerer manuelt hvor det er nødvendigt...
Du kunne også bruge en form for Db wrapper, som opsamler alle dine queries løbende som de bliver eksekveret. Mit eksempel nedenfor kan let omskrives til at gøre dette (har ikke testet koden nedenfor):
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.