Hola como te va
Si, me paso algo similar. Cuando tenes muchos datos para mostrar a veces no se soluciona con paginar una grilla, porque lo mismo estas trayendo muchos datos una vez desde la base de datos.
Por las dudas y sino usas procedimientos almacenado, el uso del mismo te pueden ayudar mucho. Otra cosa también es usar indices, estas cositas pueden mejorar mucho el rendimiento.
Si estas usando sql server 2005 o 2008 tiene una solución muy buena para esto, porque traen una funcion "row_numbers" que te permiten traer solamente los registros que queres mostrar para una página de la grilla, así de esta forma no necesitas traer mil registros sino los 20 o 10 que vas a mostrar en una grilla, acá tenes un ejemplo de tantos que podes encontrar:
http://weblogs.asp.net/scottgu/archi...07/434787.aspx
Si no estás usando sql server podes de alguna forma de imitar lo anterior, es decir, de alguna forma no traer todos los registros, sino solo los que mostra en una página.