> >> 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 - [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux