Pregunta

Migramos una gran cantidad de datos de nuestro sistema de pedidos de edad. Este sistema almacena las iniciales de los usuarios en nuestra mesa "pedidos" para cada orden que han creado. Ahora que tenemos una vista que se ve en el directorio activo me gustaría actualizar esas iniciales con el objectGUID directorio activo (o algo que hace referencia al GUID). Esto nos permitirá cambiar las iniciales de los usuarios en el directorio activo sin tener que preocuparse acerca de la actualización de las "órdenes" registros de la tabla.

He leído que el índice de rendimiento es mediocre cuando se utiliza GUID vs enteros. Una manera de resolver esto es, posiblemente, tiene una tabla que asigna a guids enteros a continuación, almacenar el valor int en nuestra tabla de pedidos. ¿Esto sería una buena idea? ¿Alguna idea?

¿Fue útil?

Solución

Asumo que a usuario entidad ya existe en su base de datos de diseño sin embargo, si no es así entonces creo que su solución requerirá la misma.

Así que asumiendo que el usuario existe entidad, como lo han descrito, se puede colocar el ID de usuario (int) en los ÓRDENES mesa, en relación con ello toda la información pertinente USUARIO detalles a un ORDEN , en lugar de sólo las iniciales (Nota: iniciales no debe sin duda ser almacenados en el ORDEN mesa, pero en lugar del usuario o USER_DETAILS mesa, aunque no es el foco de esta discusión).

A continuación, puede agregar la columna GUID de la tabla de usuario. No creo que una tabla de búsqueda por separado es necesario.

Tiene sentido?

Otros consejos

Índice de rendimiento en GUID es, en general, no es diferente de otros índices en un campo de 16 bytes. Cuando los de GUID son mortales para el rendimiento es cuando los utiliza como clave de agrupación en una tabla de SQL Server.

La tabla de SQL Server es la clave agrupada y se ordena físicamente por esa clave. Dado que los GUID son de naturaleza totalmente al azar, esto lleva a la fragmentación del índice masiva muy rápidamente, y por lo tanto requiere a) la alimentación y el cuidado y la reorganización constante, pero b) todavía sufre incluso si reorganizar todas las noches. Así que en realidad, lo mejor sería evitar GUID (incluso los nuevos GUID "secuencial") para su clave de agrupación.

Para obtener más información de fondo y algunos excelentes escribir-ups en qué GUID hacen teclas agrupadas muy pobres, ver el blog de la "Reina de la indización", Kimberly Tripp:

Su visión es más valioso - leerlo, interiorizarlo, seguirlo! No se arrepentirá.

Marc

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top