Sto creando una nuova tabella in SQL Server 2005 che richiede 2 campi: DateTime e MyValue (Int32). Il campo DateTime sarà unico quindi imposterò un vincolo univoco su di esso.Chiave primaria di SQL Server sul campo Data/ora
Quale struttura del tavolo è migliore e perché?
MioIndice (PK, int)
MyDate (datetime) (IX_UniqueKey)
MyValue (int)
o
MyDate (PK, datetime)
MyValue (int)
La mia sensazione è che non voglio un PK (MyIndex) artificiale in questa tabella perché non è necessario e poiché le date saranno uniche, le userò per accedere a qualsiasi record. Tuttavia, potrebbe essere che sia più performante avere un PK artificiale ...?
Personalmente non userei MyDate, MyIndex, MyValue ecc. Cosa aggiunge il prefisso "My"?Perché non EventDate o EventDateTime e [Value] o EventValue? Inoltre, se i valori della data saranno univoci, assumerò che la risoluzione sia all'ora o al giorno. Se è così, è meglio usare SMALLDATETIME di DATETIME. –
@ Aaron Bertrand, penso che questo fosse solo un esempio, e il DATETIME può essere al secondo/millisecondo. –
Corretto - questo è un riassunto di ciò che sarà la tabella attuale. – Guy