¿Sustituir la función UUID versión 1 de MySQL?

Contexto

Aplicación web, PHP 5, MySQL 5.0.91

El problema

Recientemente cambié de usar un entero auto-incrementado a un UUID como clave principal para algunas de mis tablas. Al generar UUID's a través de MySQL'sUUID() Función, son muy similares entre sí:

| uuid                                 |
----------------------------------------
| 1e5988da-afec-11e1-9877-5464f7aa6d24 |
| 408092aa-afad-11e1-9877-5464f7aa6d24 |
  ^------^   ^^
  1      8   11-12

Como puede ver, solo los primeros 8 caracteres y los números 11 y 12 son diferentes. Entiendo que UUID Versión 1 usa una marca de tiempo y una dirección MAC de hardware para generar el UUID. Sin embargo, dudo en utilizar la Versión 1 debido a estas similitudes (y al hecho de que la dirección MAC nunca cambiará, en mi caso). Además, si la dirección MAC nunca cambia, la mayoría del UUID es inútil y está desperdiciando espacio.

Mi función UUID personalizada

Como experimento, escribí un generador UUID personalizado en PHP:

public static function GenerateUUID()
{
    return
    substr(sha1(Account::GetUsername() . Account::GetUserID()), 18, 8) . "-" .
    substr(md5(time()), rand() % 28, 4) . "-" . 
    substr(md5(date("Y")), rand() % 28, 4) . "-" . 
    substr(sha1(rand()), 20, 4) . "-" . 
    substr(sha1(rand() % PHP_INT_MAX), 17, 12);
}

Una muestra de los resultados:

| uuid                                 |
----------------------------------------
| 574d18c2-5080-bac9-5597-45435f363ea1 |
| 574d18c2-30d4-8b5b-4ffd-001744d3d287 |

Aquí, los primeros 8 caracteres son idénticos para el mismo usuario. Esto fue pensado, pero no es necesario.

La pregunta

¿Existe una forma preferida / recomendada para generar un UUID de la versión 4 o la versión 5?dentro de una consulta de MySQL?

Si no es así, ¿es aceptable generar un UUID personalizado dentro de PHP (como anteriormente) que no se ajuste a una especificación?

Las restricciones

Estoy utilizando un plan de alojamiento compartido con acceso a la línea de comandos, pero no puedo modificar la instalación existente de MySQL.Preferiría evitar paquetes / bibliotecas de terceros.

Notas

No hago ni haré operaciones de fusión, sincronización u otras que requieran un GUID que contenga la dirección MAC. Ese no es el problema aqui.

Respuestas a la pregunta(2)

Su respuesta a la pregunta