Pepe, Parece que el problema con el tiempo que demora la consulta no es la cantidad de registros sino la operación SUM y ordenar el resultado, por eso sugiero que si es algo que se consulta frecuentemente busques una alternativa a esas operaciones, por ejemplo utilizando una vista o una tabla secundaria donde vayas actualizando la suma de bytes por cliente.
From: [email protected] [mailto:[email protected]] On Behalf Of Marcelo Abosch Sent: Friday, March 01, 2013 9:59 AM To: [email protected] Subject: [puntonet] duda sobre consulta SQL y necesidad de subquery No se entiende muy bien: Me parece que deberías hacer esto: SELECT SUM(bytesrecvd) AS bytes, ClientUserName, from (select top 10000 bytesrecvd, ClientUserName from webproxylog order by fecha desc) A GROUP BY ClientUserName Si queres tener los primeros 100 clientes que tengan mayor cantidad de BytesRecvd: Deberías hacer algo asi como: Select bytes, ClientUserName from ( SELECT SUM(bytesrecvd) AS bytes, ClientUserName, from webproxylog GROUP BY ClientUserName ) A order by 1 desc From: [email protected] [mailto:[email protected]] On Behalf Of Pepe Ballaga Sent: Friday, March 01, 2013 8:54 AM To: [email protected] Subject: [puntonet] duda sobre consulta SQL y necesidad de subquery Holaaa amigos necesito hacer la siguiente consulta muy sencilla pues la tabla tiene millones de registros y se demora demasiado SELECT SUM(bytesrecvd) AS bytes, ClientUserName, from webproxylog GROUP BY ClientUserName pero solo quiero hacerselo a un conjunto utilizando subquery. preferiblemente quisiera usar una subquery con un tope de 10000 registros (algo asi como select top(10000)). Ojala me haya explicado bien. Saludos PEPE
