vista ver una trucos tiempo reducir procesos pesadas optimizar medir consultas consulta como sql-server database database-design

sql-server - una - trucos sql server



Almacenamiento de duraciones(tiempos) en un servidor SQL (3)

Lo que haría es tener 2 columnas, una es la última vez que se activó un evento y la otra es la duración entre los incendios del evento. De esa manera, podría hacer una consulta de dateDiff entre la última vez que se disparó y ahora () y ver si ese valor es mayor que la duración entre los incendios.

En cuanto al valor de la duración, tendría que ser el valor mínimo de tiempo que necesita. De modo que si tiene un valor mínimo de 5 minutos, la columna debería estar en minutos. Si tienes un valor mínimo en segundos, entonces debería ser en segundos.

Tengo que almacenar una duración en una base de datos de SQL Server 2008. ¿Cómo se hace esto generalmente?

Por ejemplo tendré que poder almacenar valores como: 5 minutos, 8 horas, 10 días, etc.

Estaba pensando en almacenarlo en un campo de tiempo reducido como tiempo de vida en el tiempo. O tal vez como un int que representa un desplazamiento a una fecha mínima.

¿Alguien tiene alguna experiencia con esto?


Si la hora de inicio es significativa (debido a que está grabando un evento, por ejemplo), siempre querrá almacenarlo como fecha y hora para poder leerlo más tarde, almacenar la duración posterior puede simplemente ser otra fecha y fecha "finalizada".

Si es una duración arbitraria (duración de la película, etc.) simplemente lo almacenaría como segundos en un entero, y luego agregaría un código de pretensión en la capa de presentación para mostrarlo como horas / días, etc.


Una palabra de precaución al utilizar el método de inicio y finalización es el cambio del horario de verano. Debe asegurarse de que el tipo de datos de SQL Server que está utilizando respalde la información de la zona horaria. Además, debe asegurarse de que sea compatible con la información histórica de cambio de horario de verano. Por ejemplo, antes de 2007 en Estados Unidos, las reglas de cambio de horario de verano eran diferentes a las actuales.

En nuestras bases de datos, solo optamos por un enfoque seguro y almacenamos la hora de inicio, la hora de finalización y la duración en segundos.