Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 3812|Respuesta: 2

[Fuente] [Girar] (MSSQL) Int y guid de la base de datos SQL Server para comparación de claves primarias

[Copiar enlace]
Publicado en 6/6/2023 22:17:40 | | |
Requisitos: Durante una entrevista reciente, me preguntaron cuál es la diferencia entre la inteligencia de la base de datos de SQL Server y la guía como clave principal.Ambos tienen pros y contras, por favor valoralos según los escenarios reales de tu negocio

Texto original 1El inicio de sesión del hipervínculo es visible.

Ventajas de usar la INT como clave principal:

1. Requiere un espacio de almacenamiento de datos pequeño, solo 4 bytes.

2. El rendimiento de usar INT para operaciones de inserción y actualización es mejor que el de GUID, por lo que usar int mejorará el rendimiento de la aplicación.

3. Operaciones de índice y unión, int tiene el mejor rendimiento.

4. Fácil de recordar.

5. Soporte para obtener el valor más reciente a través de una función, como: Scope_Indentity().

Desventajas de usar la INT como clave primaria

1. Si hay una operación frecuente de fusión de tablas, puede haber duplicación de claves primarias.

2. Existen restricciones sobre el alcance del uso de datos de INT. Si hay una gran cantidad de datos, puede superar el rango de valores de INT.

3. Es difícil procesar tablas de datos almacenadas distribuidas.

Ventajas de usar GUID como clave principal:

1. Es único.

2. Hay pocas oportunidades para duplicar.

3. Es adecuado para operaciones de inserción y actualización en grandes cantidades de datos.

4. La fusión de datos entre servidores es muy cómoda.

Desventajas de usar GUID como clave principal:

1. El espacio de almacenamiento es grande (16 bytes), por lo que ocupará más tamaño de disco.

2. Es difícil de recordar. El rendimiento de la operación de unión es inferior al de int.

3. No existe una función incorporada para obtener la última clave primaria generada por GUID.

4. El GUID, como clave primaria, se añadirá a otros índices de la tabla, por lo que reducirá el rendimiento.

Resumen:

Lo anterior enumera las ventajas y desventajas de los tipos de datos GUID e INT como claves primarias. Creo que para volúmenes de datos grandes se recomienda usar GUID como clave primaria. mientras queUsar inteligencia te dará el mejor rendimiento


Comentario: UsarEl rendimiento del GUID ordenado mejora mucho

Texto original dosEl inicio de sesión del hipervínculo es visible.

La identidad es un tipo completo, decimal sin definición decimal, bigint es aceptable

El guid es binario fijo(16), que equivale a 16 bytes

La identidad se incrementa (o se resta), y el GUID es aleatorio, de modo que a medida que se insertan datos,El primero no producirá fragmentos, mientras que el segundo sí, y como el segundo está fuera de orden, el orden debe ajustarse al insertarse, por lo que el primero suele ser mejor que el segundo en cuanto a rendimiento.

Una gran cantidad de información suele dividirse en tablas, por lo que la identidad sigue siendo más adecuada en muchos casos

En cuanto al significado de la clave primaria, esto depende de cómo lo consideres al diseñar; para el procesamiento de datos en sí, la clave primaria no tiene que ser significativa, y si necesitas que la clave primaria contenga significado empresarial, entonces la clave primaria de identidad es, por supuesto, carece de significado, pero en general, es mejor separar el significado empresarial del procesamiento de datos, el negocio está siempre cambiando; si quieres llevar el significado a la clave principal del diseño de la tabla, entonces el negocio cambia, tendrás que ajustar más la estructura de la tabla.

Texto original tresEl inicio de sesión del hipervínculo es visible.

1. En sistemas que a menudo necesitan migración de datos, se recomienda usar Guid. Y añadir índices no agrupados a los campos de clave extranjera correspondientes, es decir, campos usados para consultas de unión, es de gran beneficio para mejorar el rendimiento. El campo de la condición donde también puede añadirse según corresponda para índices no agrupados.

2. Al usar el tipo Guid como clave primaria, el tipo de dato debe ser un identificador único y asegurarse de recordarloCancela la clave primaria "Índices agregados

3. Para sistemas que no necesitan ser migrados, o sistemas pequeños, sigue siendo muy conveniente usar la inteligencia como clave primaria, y aún así hay cierta mejora en la eficiencia.

(Fin)




Anterior:ASP.NET Núcleo (20) Prevenir ataques de redirección abierta
Próximo:.NET Core programa archivos multilingües de lectura y escritura de recursos (.resx)
 Propietario| Publicado en 6/6/2023 22:42:46 |
SequentialGuidValueGenerator genera valores GUID secuenciales optimizados para su uso con claves o índices de clúster de Microsoft SQL Server, lo que resulta en un mejor rendimiento que los valores aleatorios. Este es el conjunto generador por defecto que genera columnas Guid de SQL Server cuando se añaden.

El inicio de sesión del hipervínculo es visible.


Los GUIDs secuenciales en Entity Framework Core pueden no ser secuenciales

El inicio de sesión del hipervínculo es visible.
 Propietario| Publicado en 27/1/2024 11:07:29 |
[MSSQL] GUIDs ordenados y GUIDs no ordenados de SQL SERVER como pruebas principales de agregación de claves
https://www.itsvse.com/thread-10607-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com