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

Indeks SQL — różnica między char a int

Kolumny Integer / Identity są często używane jako klucze podstawowe w tabelach bazy danych z wielu powodów. Kolumny klucza podstawowego muszą być unikatowe, nie powinny być aktualizowane i naprawdę powinny być bez znaczenia. To sprawia, że ​​kolumna tożsamości jest całkiem dobrym wyborem, ponieważ serwer otrzyma dla ciebie następną wartość, muszą one być unikalne, a liczby całkowite są stosunkowo małe i użyteczne (w porównaniu z identyfikatorem GUID).

Niektórzy architekci baz danych będą argumentować, że inne typy danych powinny być używane dla wartości klucza podstawowego, a kryteria „bez znaczenia” i „niepodlegających aktualizacji” mogą być przekonująco argumentowane po obu stronach. Niezależnie od tego, pola całkowite/tożsamości są całkiem wygodne, a wielu projektantów baz danych uważa, że ​​tworzą odpowiednie wartości kluczowe dla integralności referencyjnej.

  1. Najlepszym wyborem dla klucza podstawowego są typy danych całkowitych, ponieważ wartości całkowite są przetwarzane szybciej niż wartości typu danych znakowych. Typ danych znakowych (jako klucz podstawowy) musi zostać przekonwertowany na równoważne wartości ASCII przed przetwarzaniem.
  2. Pobieranie rekordu na podstawie klucza podstawowego będzie szybsze w przypadku liczb całkowitych jako kluczy głównych, ponieważ oznacza to, że więcej rekordów indeksu będzie obecnych na jednej stronie. Więc łączny czas wyszukiwania maleje. Również połączenia będą szybsze. Będzie to jednak miało zastosowanie w przypadku, gdy zapytanie korzysta z wyszukiwania indeksu klastrowego, a nie ze skanowania i jeśli używana jest tylko jedna tabela. W przypadku skanu brak dodatkowej kolumny oznaczać będzie więcej wierszy na jednej stronie danych.

Mam nadzieję, że to ci pomoże!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. escape w nawiasach kwadratowych w PATINDEX z SQL Server

  2. Transakcja rozproszonej bazy danych a transakcja między bazami danych

  3. Skonfiguruj SQL-SERVER bez uruchamiania usługi

  4. Zwróć liczbę wierszy, których dotyczą instrukcje UPDATE

  5. Przełączanie partycji tabel w programie SQL Server:przewodnik