webForumDet fria alternativet

antal execute på en sida

4 svar · 212 visningar · startad av strevor

strevorMedlem sedan maj 20029 inlägg
#1

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
#2

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
#3

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
#4

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
#5

Okej!
Tack så mkt för ditt tips Lamp. Skall se om jag kan minska lite belastning.

126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)