mm .. el problema de que sea por "ODBC" a nivel de rendimiento es que no te puedes apoyar en nada de SQL como el "TOP" de MS SQL Server, o el "LIMIT" de Mysql . .o equivalentes para otras BD.
Recuerda que por ODBC puedes conectar a la mayoría de BD que existen (incluido a Mysql pese que lo hagamos directo desde PHP por rendimiento). Así que el método propuesto para que sea -standard- simplemente hace una consulta a "toda la BD" siempre que pasas de página y lo único que hace es limitar los "N" registros que ahí ves en esa página .. pero igualmente se hace una consulta INTEGRA a la BD sin "limitar" desde SQL .. así que fijate manajer un paginado de 20 registros por pagina por ejemplo pero que se ha de consultar los N miles registros que dé como resultado esa sentencia SQL ..
Lo ideal es aprovechar el SQL concreto de la BD que uses (aunque conectes por OBDC a la misma)
A todo esto .. tienes classes de abstracción de Base de datos con las cuales podías conectar a MS SQL Server (directo o por ODBC según casos). Algunas de ellas incorporan sus própios sistemas o ayudas para generar paginados:
AdoDB http://adodb.sourceforge.net/
Su método de paginado:
http://phplens.com/adodb/tutorial.im....previous.html
(el ejemplo lo veras para Mysql .. pero bajo la filosofía de que con este tipo de classes puedes trabajar con N diferentes BD .. deberías poder usar MS SQL server u otra sin problemas tan sólo cambiando la conexión a tu BD y hasta con la misma consulta SQL).
Un saludo,