A ver..primero que nada...
Lo que querés hacer es una herramienta en PHP que solo vos vas a usar en local? o una funcion en una pagina web disponible para 'cualquiera'?
Porque siendo lo primero, podés usar el LIMIT de SQL para ir leyendo de a (por ejemplo) 500 registros.
Pero mi duda es lo que pregnte primero. Estas tratando de hacerte una 'herramienta' con PHP y MySql?
Peroo.. y si "ejecuto" varios buscadores al mismo tiempo??? eso se puede hacer???
O sea.. que se realice simultaneamente 2 busquedas.. una desde el principio hasta la mitad, y otra que busque desde la mital hasta el final..
Para ocupar mas CPU...
Que me dicen?? se puede hacer algo asÍ??
Si se puede 'emulando' multi-hilos(threads). Osea, de poder se puede, pero sera menos rapido aun porque PHP no sorpota este tipo de programación.
Y por otro lado de cuantos posibles registros estamos hablando? Te recomiendo que probes usando
ESTO implementandolo como una funcion. Seteando el timelimit de jecucion a 0 (sin limite) y ver cuanto tarda.
Ajax?? o sea.. que "quieres" que haga con Ajax???
Que hagas una página en php por ejemplo saca_fragmentos_iguales.php.
Que esta página reciba dos parametros(por url) que se le pasaran al LIMIT donde hagas la consulta SQL.
Esta pagina la llames desde otra, la que vera el usuario, pasandole dichos parámetros aumentados en cada nueva llamada. Si supieras AJAX sabrías de lo que te hablo..y es una opcion muy efectiva sin ningún contratiempo.
Lo que haría, básicamente, es ir llamando a un script php que valla sacando los registros de a tramos de por ejemplo 500 registros por vez. Cuando esta pagina termine su trabajo le regresara los resultados a la principal, la que la llamo. y luego la principal la volveria a llamar pero aunmentando los parámetros para el LIMIT asi se tomaria el siguiente bloque de 500 registros de la tabla...y así susecivamente..
Te pondría un ejemplo, pero la verdad que me he olvidado un poco el trabajo con AJAX porque hace meses no lo uso para nada.
Saludos