si la base de datos Mysql es local, a no ser que hablemos de cientos de miles de registros la latencia para todo el resultset deberia ser admisible.
una cosa que puedes hacer es sacar un resultset con un limite del doble del Jtable (para un Jtable que visualize 30 filas, hacer un select de limit 60), y en el momento que el jtable haga un scroll por encima de cierto margen, hacer la consulta completa...
si la base de datos es remota, te vas a tener que currar una especie de 'cache' interna de filas, por ejemplo, sacar en principio solo el tamaño del Jtable, mostrarlo en pantalla (para que el usuario tenga sensacion de inmediatez), realizar otra consulta en background con 2 paginas anteriores y 2 posteriores, refrescar el Jtable (antes de refrescarlo, guarda la posicion del elemento seleccionado del Jtable, si existe alguno), y luego, conforme se avanza y retrocede en el Jtable, cuando el scroll llegue a cierto limite, realizar otra consulta SQL en background. creo que existe algun controlador JDBC que te realiza eso mismo, aunque no soy capaz de decirte su nombre, sorry.