Pregunta

Decir que tengo una tabla X con 100 registros en ella y que la ejecución de un select * from X tarda 100 segundos.

¿Cuánto tiempo debo esperar que el select top 10 * from X de consultas sean?

yo esperaría que la relación es más o menos lineal por lo que 10 segundos. Es correcto, o es la relación no lineal de alguna manera?

¿Fue útil?

Solución

Su costo de rendimiento se divide en dos áreas diferentes:

  • ¿Cuánto tiempo se tarda en realizar la consulta
  • ¿Cuánto tiempo se tarda en devolver los resultados

A menudo, una consulta será rápido, pero generando resultados será lenta, ya que es I / O-ligado. Si este es el caso, entonces se ve un aumento de velocidad aproximadamente lineal mediante la devolución de un menor número de resultados.

Sin embargo, si la consulta en sí es complicado, las cosas son diferentes. Si no se trata sólo select * from X, pero select * from X where [complicated-expression], a continuación, los resultados pueden variar ampliamente entre las implementaciones de bases de datos. En ese caso, su rendimiento puede ser dominada por la complejidad de consulta, en cuyo caso no podrá ver tanto beneficio simplemente volviendo menos resultados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top