Cita:
Empezado por IVAND
Tengo una tabla que tiene una consulta sql tiene ademas dia y hora para ejecutarse mi pregunta es si pongo un timer que se ejecute cada 5 minutos no hara que mi aplicacion consuma muchos recursos) o como sera la mejor tecnica para hacer este tipo de cosas
|
Si tienes una tabla con Alertas definidas un derminado día y una hora, no hay otra forma de hacerlo que realizando pooling.
No creo que una consulta cada 5 minitos (si está optimizada) consuma mucho recursos, otra cosa sería que me dijestas que es cada 5 segundos, en ese caso te diría de replantearlo...
Cita:
Empezado por ASAPLTDA
si usas firebird puedes usar alert , en sqlserver tambien se puede hacer pero no recuerdo el nombre , la base de datos informa al programa que hubo cambio en la base y se procedes a hacer los procesos requeridos o como dice el companero colocas una opcion en el menu, ahora si es indispensable ejecuta la consulta cada 5 minutos y mira que carga tiene de procesador aunque no creo que sea tampoco tanto a menos que tengas miles de registros
|
Eso son eventos de la Base de Datos. En SQL Server se llaman Query Notifications (los tienes explicados aquí
https://neftali.clubdelphi.com/event...notifications/), pero eso hace que la Base de Datos te comunique cuando hay un cambio.
Este caso, por lo que entiendo no es así, sino que la tabla de "citas" o "agenda" tiene almacenados registros que hay que "consultar" constantemente independientemente de que tenga cambios o no, para ver si alguno coincide con la hora actual.
Se me ocurren formas de optimizarlo, usando los eventos, pero el costo lo ve demasiado grande en relación al beneficio obtenido.
Yo creo que
1 consulta cada 5 min. con una tráfico de datos de apenas unos bytes es irrelevante para un servidor de Bases de Datos actual.