Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

NewSequentialId w indeksie klastrowym UniqueIdentifier

Zwykle tworzysz swoje indeksy z odpowiednim FILL FACTOR pozostawić pustą przestrzeń na wszystkich swoich stronach na taki właśnie scenariusz. Biorąc to pod uwagę, indeks klastrowy jest zmieniany po wypełnieniu pustego miejsca.

Wiem, że nie chcesz rozmawiać o użyciu GUID jako klucz klastrowy, ale jest to jeden z powodów, dla których nie jest to zalecana praktyka.

Stanie się tak, że będziesz mieć coraz większą liczbę podziałów stron, co doprowadzi do bardzo wysokiego poziomu fragmentacji podczas wstawiania wierszy i będziesz musiał odbudowywać indeks z większą częstotliwością, aby utrzymać wydajność na linii.

Nie ma lepszego źródła dla pełnego opracowania na ten temat niż

Kim
Tripp
Blog

Na marginesie, kiedy rozważasz utworzenie własnej funkcji tworzenia NewSequentialID, prawdopodobnie masz problem z projektem i powinieneś ponownie rozważyć swój plan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak odzyskać dane z obciętej tabeli

  2. Jaki jest odpowiednik „tabeli opisowej” w SQL Server?

  3. Jak dołączyć bazę danych SQL Server z wiersza poleceń

  4. Jaka jest maksymalna liczba znaków dla NVARCHAR(MAX)?

  5. Jak sprawdzić poziom zgodności bazy danych w SQL Server za pomocą T-SQL