strevorMedlem sedan maj 20029 inlägg Hm.. jag har en sida som innehåller 22 stycken connect.execut(sql-kod) på EN sida. Det känns som ganska många...
Först hämtar jag data ur mysql sparar med getrows och stänger allt. Berabetar sedan datan och öppnar dbn igen och uppdatera och spara datan i mysql.
Allt tillsammans kräver 22 st. connect.execute. Så jag undrar om detta generellt är på tok för många?
Det beror ju även på vad man execute:ar men finns det någon "oskriven" regel som sägar att man typ inte bör ha mer än xx st. databas executes på EN sida oavsätt vad det gäller??
LAMPMedlem sedan mars 2002777 inlägg Det du isåfall bör titta på är så att du inte öppnar en ny connection mellan varje gång du anropar databasen, utan öppnar första gången då du behöver, och sedan stänger när du är klar med samtliga.
22 låter ganska mycket, men det beror ju på vad scriptet gör. Har du lagt upp databasen rätt (normaliserat den) och inte kan slå ihop några sql-frågor, då är det inte mycket annat att göra.
Kan tänka mig att det är bättre att göra någon hämtning extra och selectrera bort överfödig data direkt, än att hämta massor med data för mycket och selektrera det i scriptet.
strevorMedlem sedan maj 20029 inlägg Så ser det ut typ:
# Öppnar databasen
- några ganska saftiga SELECT-satser (4 executes)
# Stänger databasen
- Bearbetar alla data
# Öppnar databas
- Spara och uppdaterar resultat i mindre sqlsatser (18 executes)
# Stänger databasen
Anser Ni att man istället skall ha det på följande sätt?
# Öppnar databasen
- Hämtar data
- Bearbetar den
- Sparar och uppdaterar resultatet
# Stänger databasen
Jag försöker selektrera bort så mycket överflödig data som möjligt innan jag hämtar den.
Det som kräver många executes är när massa små delar måste uppdateras i olika poster och tabeller i den slutliga fasen.
LAMPMedlem sedan mars 2002777 inlägg Jag anser att man ska göra enligt variant 2, dvs öppna och utföra allt och sedan stänga.
strevorMedlem sedan maj 20029 inlägg Okej!
Tack så mkt för ditt tips Lamp. Skall se om jag kan minska lite belastning.