Domanda

Abbiamo migrato un sacco di dati dal nostro vecchio sistema di ordinazione.Questo sistema memorizzati gli utenti iniziali nella nostra tabella "Ordini" per ogni ordine che hanno creato.Ora che abbiamo una visione che guarda al di active directory vorrei aggiornare quelle iniziali con active directory objectguid (o qualcosa che fa riferimento al guid).Questo ci permetterebbe di modificare gli utenti iniziali in active directory, senza doversi preoccupare di aggiornare la tabella "Ordini" dei record.

Ho letto che l'indice di prestazioni poco brillanti di guid vs int.Un modo per eventualmente risolvere questa è una tabella che associa guid a di int, quindi memorizzare il valore di tipo int nella nostra tabella ordini.Questo sarebbe una buona idea?Ogni pensiero?

È stato utile?

Soluzione

Suppongo che un USER entità esiste già nella progettazione di database tuttavia, se non lo fa, allora credo che la soluzione richiede esso.

Quindi, supponendo che il USER esiste un'entità, come avete descritto, è possibile inserire l'UserID (int) sulle Ordini Tavolo, relative in tal modo tutte le pertinenti UTENTE dettagli ad un Ordine , piuttosto che solo le iniziali (Nota: iniziali non dovrebbero probabilmente essere memorizzati sul ORDINE tavolo, ma piuttosto il USER o USER_DETAILS tavolo, anche se non al centro di questa discussione).

È quindi possibile aggiungere la colonna GUID alla tabella utente. Non credo che una tabella di ricerca a parte è necessario.

Dare un senso?

Altri suggerimenti

Indice di prestazione sul Guid è, in generale, non è diverso da altri indici a 16 byte del campo.Dove il GUID è mortale per prestazioni durante il loro utilizzo, come chiave di clustering in una tabella di SQL Server.

La tabella di SQL Server è la chiave cluster è fisicamente ordinato dal tasto.Dal momento che il Guid sono di natura totalmente casuale, questo porta ad un massiccio indice di frammentazione molto rapidamente, e quindi richiede una) costante di avanzamento e di cura e di riorganizzazione, ma b) soffre ancora, anche se si riorganizza ogni notte.Quindi, in realtà, la pratica migliore sarebbe quella di evitare Guid (anche il nuovo "sequenziale" Guid) per la chiave di clustering.

Per ulteriori informazioni di base e alcuni ottimi write-up sul perché Guid fare molto scarsa cluster tasti, vedere il blog della "Regina di Indicizzazione", Kimberly Tripp:

La sua intuizione è il più prezioso, di leggerlo, interiorizzare, seguirlo!Non ve ne pentirete.

Marc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top