"Probablemente" no. Es decir, en sha1 por su naturaleza existen
colisiones (Es decir... a sha1 le podés dar cadenas de cualquier
tamaño; pero siempre te develve una de una longitud fija; la cantidad
de cadenas de entrada es infinitamente más grande que las de salida,
entonces hay cadenas diferentes que dan el mismo hash), aunque dudo
que entre 1 y 10^10 tengas alguna (igual debería ser trivial de
testear, no es ni lento ni ocupa mucho espacio).
Habiendo dicho eso, suena a horrible idea. ¿Para qué querés hacerlo
así? Es decir, ¿Cómo querés usar esos números? Si los querés usar como
ID "secreto", cualquiera puede hacer lo mismo e identificarte los IDs.
Lo típico es usar UUID, generados al azar. Son números de 128b, así
que la probabilidad de una colisión es igual mínima, pero ponés en la
tabla la limitación de que esa columna debe ser única y listo.
10MM de registros no debería ser mucho para Mysql, no.
> --
> Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP
> Argentina" de Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a
php-arg+u...@googlegroups.com.
> Para publicar en este grupo, envía un correo electrónico a
>
php...@googlegroups.com.
> Visita este grupo en
https://groups.google.com/group/php-arg.
> Para acceder a más opciones, visita
https://groups.google.com/d/optout.