Dla ciebie projektanta bazy danych/guru wydajności tam.SQL Server Datetime vs Int key performance
Jeśli dysponujesz bazą danych, która ma na celu śledzenie danych finansowych za fiskalne okresy roku, czy jest lepsza/bardziej wydajna/bardziej przejrzysta, aby wykonać wyszukiwanie typu daterange, takie jak PaymentDate Between X i Y, czy też lepiej jest zachować intubację? tabela z kluczem i zdefiniowanymi w nim okresami obrachunkowymi, a następnie oznaczyć tabelę płatności datą płatności i tym kluczem, a zatem klauzula where oznacza wartość FiscalPeriodID = X?
Jestem pewien, że dla mniejszych zestawów danych nie ma znaczenia, ale załóżmy, że te dane będą w milionach wierszy.
HRM tak, że teraz mogę wziąć to, co napisałeś i badań wydaje się, że jest to dość standardowe rozwiązanie, szczególnie w kostkach. – Eric
Co z częścią "time"? Co się stanie, jeśli będę musiał również przechowywać czas? Czy dobrze jest używać osobnego pola na czas, a także przechowywać go jako intergera i w razie potrzeby dokonać konwersji? – Mahmoodvcs
David Stein napisał artykuł na ten temat. Mówi, że pole daty ma lepszą wydajność w SQL 2008. url: [http://www.made2mentor.com/2011/05/date-vs-integer-datatypes-as-primary-key-for-date-dimensions/] (http://www.made2mentor.com/2011/05/date-vs-integer-datatypes-as-primary-key-for-date-dimensions/) – Mahmoodvcs