Sida 3 av 3
Re: Mer hjälp med SQL
Postat: 24 april 2015, 09:15:43
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.
Re: Mer hjälp med SQL
Postat: 24 april 2015, 23:07:55
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å.