Y para que es este 'HASH'?
Por que no usas MD5 o SHA1?.. y te evitas tanto lio..ademas para procesar una cantidad asi de informacion, comparando bloque por bloque con cada registro...
...espero que tu servidor tenga el ordenador de la NASA o sino..
Si decis para que quieres usar le HASH se te puede ayudar mejor, o dar un enfoque diferente y mas viable a tu problema
Saludos
Estoy dando un enfoque diferente...
Disminuiré MUCHO ese "500".. tal vez lo deje en menos de 250, y luego con otra tecnica capaz que a la mitad de 250...
Mira.. imagina que tengo un archivo .txt con gran cantidad de texto... de éste archivo, tomo cada X% una "muestra" de su texto de 8 letras (supongamos 8)... es como "tomar muestras" del interior del archivo... y guardo en MySQL el nombre del archivo (o si posicion en el disco duro) y luego a su derecha, escribo en diferentes campos, esos valores tomados por muestra...
Ahora supon que ya analicé tod mi Disco Duro y tengo en mi base de datos, todos los nombres de mis archivos con sus fragmentos de muestra..
En una aplicacion, creada por mi, le ingreso un archivo .txt de mucho tamaño tambien... la aplicacion hace EL MISMO SISTEMA DE MUESTREO a éste archivo.. cada exactamente el mismo PORCENTAJE con que hacía al DIsco Duro la muestra, tomará las muestras de éste ingresado....
Ahora tendras el CODIGO de éste archivo.. las x cantidad de muestras tomadas...
Y ahora tienes que COmparar los pedasos de muestra esos de tu archivo, con los pedasos de muestra que estan en la base de datos...
Aquellos archivos de la base de datos que coincidan en el 50% con el del archivo ingresado, se tienen que mostrar...
De paso agrego otra pregunta:
A esas 8 letras que tomaré como muestra muchas veces, las tengo que guardar en un sistema que me ocupe poco espacio.. el hexadecimal es el mejor?