Lettura utenti connessi a database mysql

giovedì 11 novembre 2004 - 18.44

MrWeeBoo Profilo | Newbie

Ragazzi vorrei chiedervi un consiglio, ho creato un programma gestionale che verrà installato su un server più dieci postazioni client, ovviamente ho gestito sotto codice accesso in rete al database mysql con rispettive transazioni.
Sul programma ho creato una query (show full processlist) che mi permette di avere la lista completa con relativi ip di tutti gli utenti connessi al db.
Sulla form iniziale ho piazzato una label che vorrei mi indicasse in tempo reale i client connessi perciò stavo pensando di mettere un timer che ogni dieci secondi mi rifà la query e mi restituisce di volta in volta il nuovo numero di client connessi a mysql però mi è venuto un dubbio:
se dieci o anche più client ogni dieci secondi fanno una query solo per vedere quanti client sono connessi e aggiungendo poi tutte le operazioni di transazione inserimento eliminazione consultazione ecc. non rischio di rallentare notevolmente il server ? Anche perchè quest'ultimo andrebbe ad eseguire circa cinque o sei query in media al sec.
Perciò volevo utilizzare qualche mezzo di messagistica in modo tale che il programma all'apertura faccia una sola volta la query e invii a tutti i client connessi un evento o qualcosa che dica loro di aumentare di uno il tot. delle connessioni al db.
Come faccio ?

Brainkiller Profilo | Guru

Non capisco l'utilità visto che tutti creano applicazioni di questo tipo senza avere la necessità di verificare chi in quel momento è collegato al DB. Eventualmente lo può vedere tramite i suoi strumenti il DBA.

Comunque per una soluzione di questo tipo, puoi crearti un'applicazione parallela tua, che faccia da server che smisti dei messaggi a tutti i client . In questo caso devi anche crearti un protocollo di comunicazione. Insomma non è banale.

ciao
david

trinity Profilo | Guru

Eventualmente se hai già creato una query per visualizzare la lista degli utenti connessi al db ti consiglio di utilizzare un timer e nell'evento Tick gli impostai la stessa query..imposti il timer che ogni 30 secondi per esempio fa il controllo ed il gioco è fatto..

Ciao
Fabio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5