In ADO .NET 2.0 è possibile programmaticamente ottenere delle informazioni statistiche circa l'uso di una connessione ad un database. Bastano infatti solo 2 righe di codice:
connSQL.StatisticsEnabled = true;
System.Collections.IDictionary statsDict = connSQL.RetrieveStatistics();
per ottenere un dictionary di valori statistici validi nel momento in cui il metodo RetrieveStatistics() è invocato.
Tratto dalla documentazione MSDN, ecco un elenco (parziale) dei valori statistici più interessanti:
NetworkServerTime
Restituisce il tempo cumulativo atteso dal provider prima di ricevere una risposta dal database server, a partire dal momento in cui le statistiche sono abilitate.
PreparedExecs
Restituisce il numero dei comandi precompilati eseguiti, a partire dal momento in cui le statistiche sono abilitate.
Prepares
Restituisce il numero delle istruzioni precompilate eseguite, a partire dal momento in cui le statistiche sono abilitate.
SelectCount
Restituisce il numero delle istruzioni SELECT eseguite, a partire dal momento in cui le statistiche sono abilitate, incluse le istruzioni FETCH usate per leggere le righe da un cursore; il conteggio delle SELECT è aggiornato quando viene raggiunta la fine di un SqlDataReader
SelectRows
Ritorna il numero delle righe interessate, a partire dal momento in cui le statistiche sono abilitate. Il conteggio comprende tutte le righe generate da istruzioni SQL, anche se non utilizzate dal chiamante, ad esempio eventuali righe derivanti da un data reader chiuso prima di leggere l'intero resultset oppure le righe di un cursore.
ServerRoundtrips
Ritorna il numero di volte in cui viene inviato un comando al server ed attesa la conseguente risposta, a partire dal momento in cui le statistiche sono abilitate.
Transactions
Restituisce il numero delle transazioni utente iniziate, a partire dal momento in cui le statistiche sono abilitatea prescindere se andate a buon fine o no. In caso di auto commit impostato su on ogni comando è considerato una transazione.
UnpreparedExecs
Ritorna il numero delle istruzioni non compilate eseguite, a partire dal momento in cui le statistiche sono abilitate.
Curiosando il metodo RetrieveStatistics() con il tool Reflector si nota che esso utilizza una classe interna dell'assembly System.Data, precisamente SqlStatistics, marcata appunto come "internal sealed" (C#), oppure "Friend NotInheritable" (Visual Basic .NET). Quindi la suddetta classe non è nè visibile dall'esterno dell'assembly System.Data nè tantomeno ereditabile.
Speravo di farla franca ma l'amico Mighell ha pensato bene di taggarmi ! Quindi adesso tocca a me: ecco le 5 cose che pochissime persone (forse nessuna...) conosce di me:
1) Ho tante passioni che non riesco a vivere come vorrei causa mancanza di tempo (chiamateli hobby....) e sono, in ordine sparso: astronomia, astrofisica, fisica quantistica, scacchi (il mio sogno è stato sempre battermi con l''International Woman Grandmaster Alexandra Kosteniuk, senza però che pensate a male ), tecnologia in generale. Insomma, roba pesante, e qui mi fermo perchè altrimenti divento prolisso! E' chiaro che sono sempre stato attratto dalle cose complesse....il primo linguaggio di programmazione che ho affrontato sul serio è stato il C.
2) All'età di 5-6 anni ho rischiato seriamente di morire bevendomi, a causa della mia curiosità già supersviluppata , nientepopodimeno che .....la varechina ! Mi ha salvato una immediata lavanda gastrica (fortunatamente l'ospedale era giusto di fronte a casa mia...)
3) Il mio più grande cruccio è quello di non aver affrontato sul serio la scuola (anche se sono riuscito comunque a diplomarmi), e soprattutto di non aver intrapreso gli studi universitari (non è mai troppo tardi direbbe qualcuno, ma...)
4) Adoro la musica rock-blues e la chitarra elettrica; la folgorazione è avvenuta all'età di 15-16 anni ascoltando i mitici Led Zeppelin, e la musica dei Doors
5) Ho 4 nipotini a cui voglio un mondo di bene; uno in particolare, si chiama Alessandro, mi somiglia tantissimo, in tutti i sensi, è come se vedessi me stesso allo specchio quando avevo 8-9 anni.
E adesso, tagghiamo, tagghiamo, anche se sono arrivato tardi e la lista si è alquanto ristretta: Francesco Quaratino, Gianluca Cannalire, Marco Russo, Vito Carella, Antonello Tesoro
|