58 messaggi dal 23 gennaio 2002
Ciao a tutti,
ho un problemino di prestazioni...mi spiego meglio.
Ho uno script che quando viene eseguito mi manda la cpu del server al 100%!

Nello script ci sono un po' di query di questo tipo:

set chiam = conn.execute("SELECT count(*) as chiam1 FROM chiamate WHERE campagna = "& request.QueryString("id") &" AND chiuso = true AND chiameff = 1")
chiam1 = chiam("chiam1")
set chiam = nothing

Come si può vedere distruggo il "recordset" appena utilizzato...e questo per ogni query.
Ce ne sono circa una ventina perchè mi devono uscire tutte le statistiche della campagna.

C'è modo di ottimizzare lo script affinchè la cpu non vada al 100% per il troppo carico?

Ciao e grazie
alessandro
28 messaggi dal 20 febbraio 2001
Il problema è sicuramente legato al numero di record presenti in ogni tabella in cui tu "conti" il numero di record presenti per la selezione che prescegli.

Una maggior ottimizzazione del database stesso (creazione indici sulle tabelle ad esempio) potrebbe essere utile.

Hai provato a sostituire l'utilizzo di un comando con l'apertura di recordeset in sola lettura, assegnargli la query e il recuperare il numeor di record inseriti con myrecordset.recordcount ?

wintersea
58 messaggi dal 23 gennaio 2002
Ciao,
grazie per il consiglio.
Ho provato ma purtroppo la cpu mi va su ugualmente!
Non so più come fare!

Helppppp!!!

Ciao e grazie
Alessandro
28 messaggi dal 20 febbraio 2001
...Un altro tentativo potrebbe essere (se utilizzi SqlServer o Oracle) lanciare le query in una Stored Procedure e farti restituire in variabili distinte i valori "contati"....

wintersea

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.