On Fri, 31 May 2002, Mihai Chelaru wrote:

> On Friday 31 May 2002 14:24, Mihai RUSU wrote:
> >
> > Ce pot face sa lucrez NONBLOC/ASYNC cu mysql-ul ? Sa nu mai blocheze in
> > mysql_query ?
> >
>
> Chiar daca faci treaba NONBLOCK tot trebuie sa-ti pierzi vremea cu select ca
> sa vezi cand mai poti face ceva pe socketul respectiv. Asadar:

Nu e adevarat. Tocmai ca eu deja fac select pentru alta treaba (un socket)
si cand mi se pune mie pata (cand primesc date pe socket) vreau sa loghez
in sql. Deci daca ar fi NONBLOCK s-ar intoarce cu EAGAIN si asta e (daca
nu mai am vre-un layer care sa aiba un buffer sa pastreze cateva query-uri
macar acolo...), deci nu am nevoie de select. Dar nu cred ca pur si simplu
ma uit in mysq.h , vad in structura lui unde e socket-ul si fac fcntl pe
el, pentru ca mi-e teaba sa nu aiba probleme celelalte functii din lib cu
socketul.

> Hint1: Threaduri. Executa toata operatiile de insert in threaduri (eventual
> si cu un buffer).

Draguta idee. Nu chiar thread-uri, un fork si un pipe neblocant rezolva
treaba. Thanks (astept si alte raspunsuri totusi ;), nu se poate as nu fi
gandit cei de la mysql o solutie "curata" petnru treaba asta).

> Hint2: Nu tine conexiunea deschisa. Deschide-o cand faci inserturi si
> inchide-o dupa.
>

Hmm, o sa creaza overhead-ul imens (pot fi si vre-o 10 query-uri pe
secunda).

----------------------------
Mihai RUSU

Disclaimer: Any views or opinions presented within this e-mail are solely
those of the author and do not necessarily represent those of any company,
unless otherwise specifically stated.

---
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui