Mer hjälp med SQL

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
pbgp
Inlägg: 1447
Blev medlem: 11 november 2010, 09:09:22
Ort: Uppsala
Kontakt:

Re: Mer hjälp med SQL

Inlägg av pbgp »

RoPa skrev:@sodjan, @pgpb, Då provar jag med att gör en commit mellan select.
Om jag inte kan använda samma cursor objectet måste jag stänga förbindelsen (cursor objectet är ett resultat av connecten) och det känns lite väl omständligt bara för att kunna läsa igen, det behövs ju inte för att kunna skriva igen.
Nu har jag läst på lite. Det ska inte vara något problem att återanvända cursor-objektet. Men, man behöver inte koppla ner för att få ett nytt cursorobjekt. Man kan göra

cursor = con.cursor();

för att få en ny.
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: Mer hjälp med SQL

Inlägg av RoPa »

@danielr112, @thebolt, bytte tillbaka från

Kod: Markera allt

cursor.execute("SELECT * FROM indicators WHERE ind_id = (SELECT MAX(ind_id) FROM indicators)")
till

Kod: Markera allt

cursor.execute("SELECT * FROM indicators ORDER BY ind_id DESC LIMIT 1")
och då minskade %CPU från 2,9 till 2,3 så lite skillnad blev det, en minskning med 20% i belastning.

Kod: Markera allt

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 2730 mysql     20   0  310m  37m 9132 S   2,3  8,6 101:21.19 mysqld
12824 pi        20   0 24232 8852 5508 S   1,6  2,0   0:00.82 PyDbReadLastDat
@sodjan, jag hittar inget om "read-only transaktion" i mysqldb för python och jag kommer nog klara mig med den prestanda jag får nu ändå.
Skriv svar