Utilizzo di Application per query frequenti

Molto spesso si costruiscono script che prevedono l’effettuazione di query su una tabella da parte di tutti gli utenti che accedono al sito nonostante la stessa tabella (o limitatamente i campi restituiti dalla query) sia oggetto di modifiche solo raramente.

Esiste un modo per evitare che tutti gli utenti eseguano ad ogni accesso la stessa identica query ed alleggerire quindi il lavoro del server: utilizzare le variabili Application.

Una volta creata una variabile Application, questa è disponibile per tutte le pagine del sito web e per tutti gli utenti: solo nel caso in cui vi fosse un restart di IIS la variabile sarebbe azzerata.

Lo script di seguito mostra come sia possibile creare la variabile application con le informazioni provenienti dal database (lista delle sezioni del sito, ad esempio) e stamparla in ogni pagina piuttosto che effettuare infinite volte la stessa query sul database.


<%

function elencoSezioni()

if IsNull(Application(“sezioni”) then

‘Apri connessione (conn)

‘Apri recordset (rs)

strSQL = “SELECT * FROM tSezioni ORDER BY sezione”

rs.Open strSQL, conn

if not rs.EOF then

sQuery = “”

sQuery = “<select name=””sezione””>”

do while not rs.EOF

sQuery = sQuery &”<option value=”””& rs(“sezione_id”) &”””>”& rs(“sezione”) &”</option>”

rs.MoveNext

Loop

sQuery = sQuery &”</select>”

‘Creo la variabile application

Application(“sezioni”) = sQuery

end if

‘Chiudi recordset (rs)

‘Chiudi connessione (conn)

end if

elencoSezioni = Application(“sezioni”)

end function

Response.Write(“<form method = “”post”” action = “”pagina.asp””>”)

Response.Write(elencoSezioni())

Response.Write(“</form>”)

%>

I Video di HTML.it

Voglio l’olografia! #dilloalfuturo