879 messaggi dal 09 luglio 2002
www.i-studio.it
Ciao a tutti,
partendo da un post di ciscos (che chiedeva se si poteva "salvare" il cursore in qualche modo per evitare di ri-eseguire la query ad ogni pagina con il sistema della paginazione) ho fatto una prova e la cosa funziona alla grande.

Cioe', dopo aver eseguito la query, apro il cursore e lo memorizzo in una variabile di sessione. All'accesso successivo, se l'oggetto di Sessione esiste recupero il cursore e non ho bisogno di eseguire nuovamente la query.

Ora, vorrei sapere cosa ne pensate di questo sistema. Cioe' e' una grande svolta per il fatto di non dover eseguire ogni volta la query (penso a quei DB che hanno una mare di dati e dove una query puo' risultare pesante), ma al tempo stesso rapprensenta una notevole occupazione della memoria del server.

Che ne pensate?

Secondo me, anche se non e' molto "pulito" la variabile di Sessione viene cancellata quando la sessione scade e quindi l'occupazione di memoria e' comunque temporanea, no? In alcune situazioni non ne vale la pena?

Fatemi sentire le vostre impressioni

Ciao a tutti
Alex

Internetworking Studio Srl
www.i-studio.it
167 messaggi dal 19 marzo 2002
Si può dire tutto e il contrario di tutto: dipende dal tipo di database usato, dalla quantità di dati che vai a mettere in sessione, da quanti utenti accedono al programma, etc.
Personalmente, lavorando su MSSqlServer, ho sempre cercato di alleggerire l'applicazione facendo lavorare il database, laddove possibile.
L'unico che può darci un riscontro sulla bontà della soluzione adottata nel tuo particolare contesto sei proprio tu ;-))))
Modificato da dario75 il 05 settembre 2003 18.20 -

carpe diem, quam minimum credula postero
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, ti do la mia opinione non troppo favorevole...:

immagina se in un hosting condiviso tutti tengano i loro recorset per ogni utente per 20 minuti sulle variabili session, sarebbe un caos.
Fa lavorare il db, ti conviene, anche perchè così hai dei dati sempre coerenti.

L'unico caso in cui sarei favorevole è quello in cui si adopera una query molto complessa ma che restituisce solo pochi record (una decina al massimo).
Per query complessa intendo di una durata di svariati secondi che impiega il processore a tempo pieno.

Enjoy learning and just keep making
879 messaggi dal 09 luglio 2002
www.i-studio.it
BrightSoul ha scritto:
Ciao, ti do la mia opinione non troppo favorevole...:

immagina se in un hosting condiviso tutti tengano i loro recorset per ogni utente per 20 minuti sulle variabili session, sarebbe un caos.

Fa lavorare il db, ti conviene, anche perchè così hai dei dati sempre coerenti.

Hai sicuramente ragione sull'utilizzo della memoria (soprattutto nel caso di hosting condiviso) e sul fatto di far lavorare il DB laddove e' possibile.


L'unico caso in cui sarei favorevole è quello in cui si adopera una query molto complessa ma che restituisce solo pochi record (una decina al massimo).
Per query complessa intendo di una durata di svariati secondi che impiega il processore a tempo pieno.

Infatti, stavo pensando di utilizzare questa soluzione proprio in un progetto dove c'e' un DB Oracle molto complesso e ci sono delle pagine con delle query che richiedono diversi secondi per l'esecuzione (a volte si arriva al timeout).

Ciao
Alex

Internetworking Studio Srl
www.i-studio.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.