www top anywhere sql limit sybase

sql - top - ¿Cómo limito la cantidad de resultados devueltos en Sybase?



sybase manual (4)

Con Sybase 12.5 y versiones posteriores, puede usar el predicado superior en su declaración de selección. Esta es una característica no ANSI que MSSQL ha tenido durante bastante tiempo.

select top 10 * from people

No puede usar top en subconsultas, actualizaciones o eliminaciones, y no hay una cláusula ''bottom'' correspondiente.

La ventaja de top es que no tienes que preocuparte por reiniciarlo. Esto es especialmente importante si está utilizando un grupo de conexión de base de datos.

Necesito consultar una base de datos de Sybase que contiene muchos datos y me gustaría establecer un límite para que la base de datos detenga la consulta después de 10 resultados.

La clave es el rendimiento, por lo que no serviría de nada si buscara todos los resultados y luego devolviera los últimos 10 resultados.

Gracias por adelantado


Puede intentar agregar esta cláusula "solo buscar primeras n filas".



Creo que puede hacer un SET ROWCOUNT 10 primero, luego todas las consultas en esta sesión hasta que un SET ROWCOUNT adicional no devuelva más de 10 filas. Como señala un comentario, esto afecta a todas las consultas siguientes en la sesión (¡no solo a SELECT s!) Hasta que se desactiva (configurando a 0) o se establece de forma diferente; este efecto "global" lo hace menos útil que la típica cláusula LIMIT de otros motores, que son inherentemente por consulta, pero, no creo que puedas hacer nada al respecto.