Mamy bazę danych z ponad 500 tabelami, w których prawie wszystkie tabele mają klastrowany PK, który jest typu danych (unikalny identyfikator).Przejście do prowadnic sekwencyjnych (grzebieniowych) - co z istniejącymi danymi?
Jesteśmy w trakcie testowania przełącznika z "normalnych" "losowych" instrukcji wygenerowanych za pomocą metody .NETs Guid.NewGuid() do sekwencyjnych komunikatów generowanych przez NHibernate guid.comb algorithm. Wydaje się, że działa dobrze, ale co z klientami, którzy mają już miliony wierszy z "losowymi" wartościami klucza podstawowego?
- Czy skorzystają z faktu, że nowe identyfikatory generowane od teraz będą sekwencyjne?
- Czy można/należy coś zrobić z ich istniejącymi danymi?
Z góry dziękuję za wszelkie wskazówki na ten temat.
Używanie identyfikatora GUID jako klucza podstawowego ma wiele zalet, zdecydowanie nie jest "niezalecane". Używanie go jako klucza klastrowego w rzeczywistości nie jest zalecane, ponieważ może prowadzić do złej fragmentacji i wykorzystuje dużo miejsca w każdym powiązanym indeksie nieklastrowym. – Nik