mssql - sql count group by
Prioridad de una consulta en MS SQL (3)
No en versiones por debajo de SQL 2008. En SQL Server 2008 existe el gobernador de recursos. Con eso, puede asignar inicios de sesión a grupos en función de las propiedades del inicio de sesión (nombre de usuario, nombre de la aplicación, etc.). A continuación, los grupos se pueden asignar a grupos de recursos y limitaciones o restricciones a los recursos ito se pueden aplicar a esos grupos de recursos
¿Hay alguna manera de decirle a MS SQL que una consulta no es demasiado importante y que puede (y debería) tomarse su tiempo?
Del mismo modo, ¿hay alguna manera de decirle a MS SQL que debería dar mayor prioridad a una consulta?
No estoy seguro de si esto es lo que está preguntando, pero tuve una situación en la que un único clic en la interfaz de usuario agregó 10.000 registros a una cola de correo electrónico (muchos datos en el cuerpo). El correo electrónico se envió durante los siguientes días, por lo que no tenía que ser una prioridad, de hecho, empantanaba el servidor cada vez que sucedía.
Dividí el procedimiento en 10,000 llamadas individuales, ejecuté el proceso en la interfaz de usuario en un hilo diferente (configurado en baja prioridad) y lo configuré para que durmiera por un segundo después de ejecutar el procedimiento. Me tomó un tiempo, pero tenía un control muy granular sobre exactamente lo que estaba haciendo.
por cierto, esto NO era spam, así que no me llame la atención pensando que era spam.
SQL Server aún no tiene ninguna forma de gobernador de recursos. Hay una opción SET llamada QUERY_GOVERNOR_COST_LIMIT pero no es exactamente lo que estás buscando. Y evita que las consultas se ejecuten en función del costo en lugar de controlar los recursos.