2008-09-20 28 views

Respuesta

10

¡Límite de uso en SQL! ¡Cada vez!

De lo contrario, está desperdiciando bastante más datos de los que necesita, lo que hace que sus scripts sean innecesariamente lentos y provocará problemas de escalabilidad a medida que aumente la cantidad de datos en sus tablas.

¡Límite es tu amigo!

10

Límite de uso: no puede transferir grandes cantidades de datos desde la base de datos al motor de scripts si puede evitarlo.

0

Personalmente, utilizaría la consulta para hacerlo. Obviamente, eso puede cambiar si trabajas con AJAX y demás, pero solo hacer un límite básico en la consulta y generar resultados es simple y eficiente.

2

Si solo desea trabajar con un DBMS que lo admita, hágalo en el DBMS. Si desea admitir otros DBMS en el futuro, entonces puede agregar una capa entre los que pueda manejar dependiendo del DBMS actual.

2

Puede utilizar algunas bibliotecas existentes para ayudarle a:

pera :: Pager puede ayudar con la salida, y para limitar el tráfico a la base de datos sólo lo que necesita, puede utilizar un envoltorio proporcionado en los ejemplos que se ven con eso

Aquí hay una tutorial acabo buscado en Google que lo tiene todo ...

1

Además de utilizar LIMIT, me gustaría sugerir el uso de una cláusula explícita WHERE para ajustar el offset, y ordenar los resultados en esa columna. Por ejemplo:

--- First page (showing first 50 records) 
SELECT * FROM people ORDER BY id LIMIT 50 
--- Second page 
SELECT * FROM people WHERE id > 50 ORDER BY id LIMIT 50 

Esto limita aún más el número de filas devueltas a aquellas dentro del rango deseado. El uso del enfoque WHERE (a diferencia de una cláusula LIMIT con un desplazamiento por separado, por ejemplo, LIMIT 50,50) le permite gestionar eficazmente la búsqueda a través de registros con otras claves naturales, p. alfabéticamente por nombre, o por orden de fecha.

Cuestiones relacionadas