No me digas que queres mostrar una grilla con los 500,000 registros??? Que sentido tendria esto para un usuario?
Si traes esa cantidad de información para imprimir un informe está bien. Hacelo de forma unidireccional y no hay necesidad de busquedas.
Ahora, si es para mostrarlo en pantalla, es mejor que el usuario acote primero la información que le interesa (por cliente, por mes, por cuenta, cualquier combinación de criterios, etc.) y luego haces una consulta al servidor que te devuelva una cantidad manejable de datos.
Si tu grilla muestra mas de unos cuantos cientos de registros, te sugiero que revises los criterios de busqueda para afinarlos aún mas.
Hasta luego.
