SQL - SELECT COUNT(*) LENTO

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 34 puestos en SQL (en relación al último mes)
Gráfica de SQL

SELECT COUNT(*) LENTO

Publicado por Leandro (2 intervenciones) el 01/07/2019 19:48:10
Buenos días estimados,

He creado una vista de usuario, la cual toma 17 segundos en promedio cuando ejecuto la sentencia SELECT * FROM [dbo].[UVW_Nombre]. El problema que tengo es que cuando ejecuto un SELECT COUNT(*) FROM ..., el tiempo asciende a más de 2 minutos. Es imperativo que el tiempo de ejecución del SELECT COUNT(*) FROM ... sea el que disminuya puesto que esta vista es usada en una aplicación web la cuál primero realiza la sentencia mencionada y, al demorar tanto, arroja un error de timeout. Espero me puedan dar recomendaciones de qué revisar a fondo a fin de reducir el tiempo de carga.

Saludos,
LC
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

SELECT COUNT(*) LENTO

Publicado por leonardo_josue (1173 intervenciones) el 01/07/2019 22:49:06
Hola Leandro:

No nos dices con qué BD's estás trabajando pero puedo suponer que se trata de SQL Server cierto?

Puedes intentar dos cosas:

1. En lugar de hacer un COUNT(*) haz un COUNT(1), después de todo creo que lo único que pretendes es saber el número de registros que tienes en la tabla.
2. Aplica un EXPLAIN a tu consulta y postea el resultado del análisis. es posible que ahí podamos encontrar alguna otra forma de agilizar la consulta.
3. Mucho ojo e hecho que digas que al ejecutar un SELECT * la consulta se tarda 17 segundos en ejecutarse puede ser subjetiva... por lo general los DBMS's trabajan con un buffer reducido, es decir, que una consulta puede mostrarte los primeros resultados en pantalla en 17 segundos, pero usualmente se limita el número de registros mostrados en pantalla... Verifica que efectivamente se estén mostrando el total de registros de tu tabla en esos 17 segundos.
4. Si tienes algún campo llave en tu tabla, puedes hacer el COUNT sobre ese campo, usualmente las consultas son más rápidas, que los campos llave por naturaleza están indexados.

haz la prueba y nos comentas.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar