Hay varias preguntas de paginación de servidor sql en stackoverflow y muchas de ellas hablan sobre usar ROW_NUMBER() OVER (ORDER BY ...) AND CTE
. Una vez que ingresa en los cientos de miles de filas y comienza a agregar clasificaciones en valores de clave no primarios y agrega cláusulas WHERE personalizadas, estos métodos se vuelven muy ineficaces. Tengo un conjunto de datos de varios millones de filas que estoy tratando de buscar con clasificación y filtrado personalizados, pero obtengo un rendimiento deficiente, incluso con índices en todos los campos que selecciono y filtrado. Incluso llegué a incluir mis columnas SELECT en cada uno de los índices, pero esto apenas ayudó y afectó severamente mi base de datos.Paginación de servidor de SQL de Microsoft
Me di cuenta de que la paginación de stackoverflow solo toma alrededor de 500 milisegundos, independientemente de los criterios de clasificación o el número de página en el que haga clic. ¿Alguien sabe cómo hacer que la búsqueda funcione de manera eficiente en SQL Server 2008 con millones de filas? Esto incluiría obtener el total de filas de la manera más eficiente posible.
Mi consulta actual tiene exactamente la misma lógica ya que esta cuestión StackOverflow sobre paginación: Best paging solution using SQL Server 2005?
Cualquier posibilidad de que pueda publicar la consulta; principios generales es un tipo agradable, pero tiene problemas en el mundo real;) – u07ch
¿No agrega un índice en cada columna que desea ordenar por (o filtrar), ayuda? Me parece obvio, pero no sé si lo intentaste. – bart
Tengo índices en todas las columnas. Después de buscar más allá de los primeros miles, los tiempos de consulta comienzan a aumentar linealmente ... – jjxtra