04. januar 2011 - 12:22Der er
17 kommentarer og 1 løsning
Optimering af php script ?
Hej Eksperter, Jeg sidder og roder med et script som egentlig virker i teorien, men i praksis lægger den min server ned, fordi den bruger for mange ressourcer... :-( Er der nogen af jer der kan hjælpe med at optimere scriptet så det muligvis kan køre på min server ?
include("dbcon_stock.php"); $query = "SELECT a.ITEMRELATION, a.ACCOUNTRELATION, a.QUANTITYAMOUNT, a.FROMDATE, a.TODATE, a.AMOUNT, a.EXCHANGE, b.ITEMNUMBER, b.COSTPRICE, b.SALESPRICE FROM pricedisc a, stocktable b, debtable c WHERE a.ITEMRELATION = b.ITEMNUMBER AND a.ACCOUNTCODE = c.ACCOUNTNUMBER AND c.DEPARTMENT = 7 ORDER BY $_POST[show]"; $result = mysql_query($query);
include("dbcon_stock.php"); $query = "SELECT a.ITEMRELATION, a.ACCOUNTRELATION, a.QUANTITYAMOUNT, a.FROMDATE, a.TODATE, a.AMOUNT, a.EXCHANGE, b.ITEMNUMBER, b.COSTPRICE, b.SALESPRICE FROM pricedisc a, stocktable b, debtable c WHERE a.ITEMRELATION = b.ITEMNUMBER AND a.ACCOUNTCODE = c.ACCOUNTNUMBER AND c.DEPARTMENT = 7 ORDER BY $_POST[show]"; $result = mysql_query($query);
antallet af rækker er ikke ekstremt... jeg kører selv med nogle tabeller med mere end 1 million rækker (dog i MsSQL), og disse kan til tider være langsomme.
Mht. kommandoerne, så er der ikke noget særligt i dem, det kunne bare være rart at vide hvor i din kode det går galt. Er det ved udskrift af data? Er det ved query? eller hvor er det?
mcb2001: Jeg ved ikke hvornår det helt går galt. Der når ikke at komme noget output på skærmen overhovedet, så jeg vil tro at det er selv query'en der lægger serveren ned. Jeg bliver nød til at genstarte den, da den er fuldstændig lammet, og kører MEGET langsom.
SELECT a.ITEMRELATION ,a.ACCOUNTRELATION ,a.QUANTITYAMOUNT ,a.FROMDATE ,a.TODATE ,a.AMOUNT ,a.EXCHANGE ,b.ITEMNUMBER ,b.COSTPRICE ,b.SALESPRICE FROM pricedisc a INNER JOIN stocktable b ON a.ITEMRELATION = b.ITEMNUMBER INNER JOIN debtable c ON a.ACCOUNTCODE = c.ACCOUNTNUMBER WHERE c.DEPARTMENT = 7 ORDER BY $_POST[show]
mcb2001: Nu har jeg prøvet at implementere din kode ovenfor, og så lade scriptet stoppe lige efter query'en, men den kommer ikke igennem queryen, den crasher min server som bare står og hænger... Kan det virkelig passe at det er så stor en mundfuld for den ?
jakobdo: Nu er vi ude i noget som jeg ikke har prøvet før... Analyze via phpmyadmin ? Hmmm... har ikke engang phpmyadmin installeret, men det kan jeg da lige gøre.
Database status, hvordan skal jeg checke det, det er en MySQL database.
Optimize ? Dog skal jeg ikke begynde at lege den store mysql ekspert, når alt kommer til alt. :o) Men man kunne måske kigge på dine datatyper, dine indexes etc.
Lukker... Endte med jeg købte en ny kraftigere server, og så virkede det.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.