> >> show innodb statust nezegetted insert kozben?
> > meg nem,
> > 
> 
> Tegyed, mert az elejen reszletezi az io threadek allapotat, fuggoben 
> levo/lezajlott fsync-eket, i/o statiszikakat, stb, igy valami fogalmad 
> is lesz arrol, mi is tortenik.

koszi, megnezem,
 
> >> Valami filesystemmel nem probaltad ext3 helyett?
> > igen, most nemreg kiprobaltam ext4-el, de aaaaaa... talan meg
> > lassabb is lett.
> 
> Filesystemrol volt szo, azoknak nem ext-tel kezdodik a nevuk. Probald 
> meg reiserfs3-mal, nem mintha idealis lenne sql ala, de probanak jo.

ezt hagyjuk, egyreszt nem hiszem h ez az oka (a masikon mukodik,
X+1 gepen egyebkent tok jol mukodik), masreszt nekem ext* meg nem
crash-elt el soha, reisert lattam mar szethullva, jfs-t probaltam
nehanyszor, de valami bugba mindig belefutottam... de ezt most
tenyleg hagyjuk.


> > cursor.execute(query...)
> > conn.comit()
> > 
> > ebbol az execute az uj gepen 0.001-0.002 korul van, a regin
> > 0.003-0.004. A commit() viszont a regin kb ua (fejbol mondom, nem
> > pontos), a regin 0.007-0.008 korul van (az ertekek sec-ben, a
> > python time modulja szamolja ki t1-t0 alakban)
> > 
> 
> Pythont nem szeretem, igy mond el, mi ez a cursor.execute es miert nem 
> cursor.commit van utana, ha mar? Csak nem full commitot csinalsz minden 
> query utan? Ennek van valami koze az sql cursorokhoz, vagy csak 
> szerencsetlen nevvalasztas?

hivhatod barhogy, en nem latok egy session-on belul mast mind
full commit-ot, nem tudom mas RDBMS hogy van vele, de milyen van
meg, ha nem full commit? 

Szerintem altalaban nincs koze az sql cursor-nak a commit-hoz,
legfeljebb annyi, hogy a cursoron keresztul adod meg a DML-t, ami
az adott kapcsolatban neked szukseges - itt magaban a kapcsolat
leiroban van a commit, szamomra ez tok logikus. Tehat nem latom
ertelmet egy "cursor.commit()"-nak.


Pythonban feluletesen igy nez ki a kapcsolat/kurzor kezeles:

=%=
import MySQLdb

conn = MySQLdb.connect(host, user, pass, ...)
cursor = conn.cursor()

cursor.execute(...)
for r in cursor.fetchall():
        ...

vagy

cursor.execute(...)
conn.commit()
=%=


Mielott megkerded: a full commit-nak mint olyannak megvan a
szerepe, esetleg tobbszalu betoltesnel (nem feltetlen thread-re
gondolok, hanem masik script is fut ami az eddig betoltott
adatokra epit) konzisztens adatbazist kapsz, nem kell varni, az
adtok "hamarabb" elerhetoek. De a betoltes csak pelda.
Es lehet, h ez is "csak" hitvita. :)




Amit nem ertek, hogy ugyanazokkal a beallitasokkal egy joval
erosebb gep miert produkal 2x-es futasi idot, ill ha megpiszkalom
a scriptet (lasd autocommit versus rekordonkenti commit versus
osszes DML utan egy commit) miert produkal kozel 30x-os
gyorsulast az eros gep, a gyenge meg alig 25%-ot.
lasd:
http://groups.google.hu/group/hun.lists.mlf.linux/msg/d40051aaa1dd6863?hl=hu


a.

_________________________________________________
linux lista      -      linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

Reply via email to