20. november 2004 - 01:20Der er
24 kommentarer og 1 løsning
mysql bruger hukommelse.
Jeg sidder og bygge på et shopsystem i php og der ligger omkring 70.000 poster i.
Jeg åbner pænt min connection i starten og lukker den ligeså pænt igen i min footer der er inkluderet på alle sider. Problemet er så at jeg når jeg har arbejdet på systemet i måske et par timer, så bruger mySql over 150Mb hukommelse. Hvorfor? Jeg ved der findes mysql_free_result(), men vil det hjælpe. Eller skal jeg i stedet åbne og lukke min connection flere gange på hver side.
Hele siden består jo i hovedtræk af udtræk (ihvertilfald shop delen) - vil det være bedre at åbne og lukke flere steder? Hvor meget kan der spares?
Synes godt om
Slettet bruger
20. november 2004 - 07:57#12
Så vidt jeg har forstået (uden selv at teste det, så jeg er også på dybt vand) er oprettelse af forbindelse til databasen noget af det, der tager kræfter. Det er altså bedre at oprette forbindelsen en gang pr side, og genbruge den til alle forespørgsler.
Hvilket OS kører du MySQL på, og hvordan får du hokommelsesforbruget at vide?
sandbox - Det er grunden til at jeg kun har åbnet én gang - At det skulle være dyrt. hmmortensen - Jeg har nogle queries som trækker fra 3 tabeller på én gang, men det skulle da kunne lade sig gøre?
OS er XP sp2 - PHP 4.3.6 - mySql 3.23.49 - versionerne svarer nogenlunde til udbyderens og kan derfor ikke ændres.
Memory tjekkede jeg bare ved at åbne XP's jobliste. Jeg har nu 1.5GB ram og når ikke over 650.000kb i forbrug, men det bekymrer mig at mySql tager 150.000 mod de normal 13-14.000kb.
Selve forbindelsen har jeg liggende i en klasse.
require_once(getBase()."/i/sql.php"); $con = new Database;'
og min footer kalder $con->CloseSql();
function CloseSql() { mysql_close($this->sLink); print "sql closed ".$this->sLink; }
Den ene gang jeg har prøvet "klasser" af, (en meget simpel en!), tog det ca. 3-5 g. så lang tid at hente info. Evt. det er her ram bruges på en windåze?
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.