11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao a tutti,
ho un database MySql con molti record che estraggo e visualizzo con una WindowsForm che offre anche funzioni di ricerca.
Può capitare che se i criteri di ricerca sono molto generici, la query restituisca anche più di 100.000 record e questo provoca talvolta la saturazione delle risorse di sistema con conseguente instabilità del programma.

Come posso determinare la memoria RAM residua ed avvertire l'utente che le risorse sono insufficienti per contenere tutti i risultati?
Questa stessa funzionalità l'ho vista nel frontend MySqlQueryBrowser e vorrei cercare di riprodurla. Devo per forza ricorrere a codice unmanaged?


PS. Per vari motivi non posso paginare i risultati (cioè non posso visualizzarne max 10.000 alla volta).

ciao e grazie.

Enjoy learning and just keep making
Potrebbe fare al caso tuo la classe PerformanceCounter.

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
11.886 messaggi dal 09 febbraio 2002
Contributi
è perfetto, grazie  Ho trovato questo esempio facile facile
http://www.dotnetspider.com/code/C-430-How-get-available-RAM-CPU-usage.aspx
Modificato da BrightSoul il 05 luglio 2007 10.01 -

Enjoy learning and just keep making
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Scusate se mi intrometto ma se utilizzi i PerformanceCounter allora devi stare particolarmente attento alle security permission (tra l'altro in .NET 2.0 sono state modificate rispetto alle versioni precedenti) specialmente se il tuo programma dovrà essere distribuito su altri computer magari non facenti parte della rete aziendale.

Ciao.

.:. Marcello Rutter .:.
58 messaggi dal 27 ottobre 2006
guarda che esiste la paginazione anche a livello myssql. prova a cercare....
è l'unica soluzione sensata.
ciao

THUG-LIFE
2.410 messaggi dal 13 febbraio 2003
Contributi
come ti hanno già correttamente suggerito, ti conviene paginare i risultati usa le clausule LIMIT e TOP per limitare i dati restituiti è inutile restituire 10'000 record che nessuno guarderà mai.

Per limitare i dati restituiti lato MySQL ti basta impostare la variabile di sessione SQL_SELECT_LIMIT usando il comando SET

Per maggiori info
http://dev.mysql.com/doc/refman/5.1/en/set-option.html

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.