Visualizzazione risultati 1 fino 3 di 3

Discussione: query unbuffered

  1. #1
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,313

    Predefinito query unbuffered

    Salve.
    PER SBAGLIO ho letto che esistono le query unbuffered. Nel forum si è parlato solo una volta di queste, e sinceramente non ci ho capito tanto .

    Su AV funzionano???

    Da quello che ho letto in giro, sembra che i risultati di questa rimangano su MySql. Quindi sono disponibili anche per altri utenti???
    In questo modo si farebbero molte meno query (se una viene eseguita dopo di un'altra con risultati identici!)

    Quindi basterebbe aggiornare questa unbuffered ogni volta che cambia qualcosa a qualche tabella

    Ma queste unbuffered sono contate da AV (nel senso del limite delle query per i livelli del db) ???

    Forse ho detto solo cose SBAGLIATISSIME [per non usare brutte parole ], perché come ripeto l'ho letto per caso e ho cercato di capirci qualcosa (anche da google), con scarsi risultati...

    Come funzionano??
    Vengono contate da AV per il limite delle query?? {perché i risultati RIMANGONO SUL SERVER e lui non deve RIandare a interrogare il database....}

    p.s. mi è venuto il dubbio anche vedendo che quando su QUESTO forum si clicca su "nuovi messaggi", di fianco appare: query generata x minuti fa
    E' una unbuffered


    Grazie,
    Ciao!

  2. #2
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Innanzitutto, trattasi di tipi diversi di trattamento di query che restituiscono dei risultati (select).
    Se esegui una query buffered, i valori di ritorno vengono salvati, appunto, in un buffer php. L'engine di php quindi salva nella sua memoria i risultati e se ne fa carico. Il buffer contiene tutti i risultati e questo permette di trattarli nella loro interezza, in operazioni tipo lo spostamento tra i record tornati.
    Sebbene si incrementi l'utilizzo di memoria di php, mysql una volta rilasciati i dati diventa subito disponibile per una nuova query.
    Nelle unbuffered invece i risultati non sono trattati da php, ma rimangono nella memoria di mysql, dalla quale php legge in modo sequenziale, un risultato dopo l'altro.
    Questo non carica l'engine php, ma mysql non accetta nuove richieste finchè non si sia svuotata la memoria leggendo tutti i risultati o liberandola esplicitamente.
    Per quanto riguarda il conteggio delle richieste, non dovrebbe variare nulla: che i dati restituiti siano a carico di php o mysql poco cambia, sempre una query è stata eseguita.
    Riguardo i risultati delle ricerche nel forum, vBulletin salva i risultati delle ricerche in una sorta di cache, e solo se necessario aggiorna. E' probabile che quel messaggio indichi che per x minuti non ci sono state variazioni nei risultati della ricerca.
    Ciao!
    Matteo Micanti.
    P.S: potrei aver scritto qualche cavolata o dimenticato qualcosa, vista l'ora
    Ultima modifica di programmazioned : 24-06-2009 alle ore 03.16.12

  3. #3
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,313

    Predefinito

    Ah, grazie; allora bisogna farsi un sistema per sapere se aggiornare la memoria temporanea o no (ad esempio con un flag da file...).

    Grazie,
    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •