Hola.
Considero que ningún método parecerá eficiente al tratar de "navegar" en el cliente por un dataset de 100,000 registros, y yo consideraría un problema de diseño de la aplicación tener semejante cantidad de datos a disposición de un usuario.
Es recomendable restringir la cantidad de datos que viajan al cliente. Por regla general, si un dataset tiene mas de 300 registros, pueden todavía afinarse los criterios del query para restringirlo mas. También es dificil que un usuario pueda sacar algun provecho de tener un dataset con mas de 100 o 200 registros.
Hasta luego.