Las ventajas y desventajas del algoritmo de copo de nieve y el incremento automático de Mysql
Las ventajas del algoritmo de copo de nieve son:
1, que no se repetirá.
2. Está bien organizado y no desperdiciará espacio y la inserción aleatoria no afectará el rendimiento.
3. Se genera muy rápidamente, especialmente mucho más rápido que UUid.
4, más pequeño que UUid.
La desventaja es que la devolución de llamada en el tiempo causa confusión.
Las ventajas del autocrecimiento de Mysql son:
1. Pequeño espacio de almacenamiento.
2. Alto rendimiento de inserción y consultas.
La desventaja es:
El rango de 1 e int puede no ser lo suficientemente grande.
2. Será muy problemático realizar la migración de datos y las claves primarias son propensas a conflictos.
3. Debido al aumento de las identificaciones, el crecimiento del propio negocio puede ser fácilmente controlado por otros.
4. El incremento automático tiene un rendimiento deficiente en condiciones de alta concurrencia.
El código para generar la identificación es:
La razón por la cual el incremento automático y el UUid son diferentes es que generalmente usamos Innodb para admitir transacciones en la base de datos MySQL y usamos el índice numérico B+ en Innodb. La estructura de almacenamiento de Innodb es un índice agrupado. La clave primaria secuencial y la clave primaria aleatoria del índice agrupado tienen un gran impacto en la eficiencia.
El incremento automático es un almacenamiento secuencial de claves primarias, lo cual es conveniente para la búsqueda e inserción (la inserción se insertará después de la anterior en orden), pero el UUid no está en orden y el código hash calculado también será fuera de servicio (seleccionado según la ubicación de almacenamiento del código hash).
Por lo tanto, la eficiencia de búsqueda es muy baja y, debido a que está desordenado, su inserción puede insertarse en los datos anteriores, lo que provocará muchas otras operaciones, lo que afectará enormemente el rendimiento o el desperdicio. mucho espacio de almacenamiento debido al almacenamiento desordenado.