sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo mejorar el rendimiento del filtrado de fecha y hora en SQL Server?

Solo una sugerencia cuando se trata de índices en fecha y hora en msql es que la huella del índice afecta los tiempos de búsqueda (Sí, esto parece obvio ... pero siga leyendo).

La importancia de esto cuando se indexa en la fecha y hora dice, por ejemplo, '2015-06-05 22:47:20.102', el índice tiene que tener en cuenta cada lugar dentro de la fecha y hora. Esto se vuelve muy grande espacialmente y voluminoso. Un enfoque exitoso que he aprovechado es crear una nueva columna de fecha y hora y completar los datos redondeando el tiempo a la hora y luego construyendo el índice sobre esta nueva columna. Ejemplo '2015-06-05 22:47:20.102' se traduce como '2015-06-05 22:00:00.000'. Al adoptar este enfoque, dejamos los datos detallados solos y podemos mostrarlos o usarlos buscando en esta nueva columna, lo que nos brinda aproximadamente un rendimiento de 10x (como mínimo) sobre la rapidez con la que se devuelven los resultados. Esto se debe al hecho de que el índice no tiene que tener en cuenta los campos de minutos, segundos y milisegundos.