Zastanawiam się, czy możemy utworzyć klucz podstawowy na stole w serwerze sql bez jakiegokolwiek indeksu na nim?Klucz podstawowy bez indeksu w tabeli?
Odpowiedz
Nie. Jako szczegółową implementację , SQL Server zachowuje klucz podstawowy za pomocą indeksu. Nie możesz temu zapobiec. Klucz podstawowy:
- Zapewnia, że nie występują zduplikowane wartości kluczy
- Pozwala poszczególne rzędy być identyfikowane/obejrzano
SQL Server ma już mechanizmy, które oferują te funkcje - unikatowe indeksy - więc używa te, które wymuszają przymus.
Chcę dodać, że domyślnie serwer sql tworzy indeks klastrowy. Możesz zmienić to zachowanie, a serwer utworzy indeks nieklastrowy. – gstackoverflow
Właściwie indeksuje funkcje w taki sam sposób, w jaki przechodzi się po książce. Nie można przejść do określonej strony lub tematu, chyba że istnieje numer strony i jej związek z tematami. To "Paging" (porządkowanie) wierszy odbywa się fizycznie przez Clustered Index w SQL Server. Jeśli w tabeli nie ma PK, można dodać indeks klastrowany do kolumny (kolumn) kwalifikowania unikalnego klucza. Ponieważ nie może być więcej niż jeden indeks klastrowany w tabeli, a wszystkie inne indeksy nieklastrowane zależą od indeksu klastrowanego dla wyszukiwania/przejścia, nie można utworzyć kolumny PK bez indeksu klastrowanego.
PK! = Indeks klastrowany. Można mieć tabele z wieloma indeksami nieklastrowymi i bez indeksu klastrowanego (inaczej kupa). Klasyfikacja fizyczna jest praktycznie nieistotna i nie jest w pełni określona przez indeks klastrowy. –
Możesz utworzyć tabelę z kluczem podstawowym, który nie jest indeksem klastrowym, dodając słowo kluczowe NONCLUSTERED
po słowie primary key
.
Zamiast zamieszczać odpowiedź na takie pytanie. Wystarczy podać przykład, aby dobrze zrozumieć. – tarzanbappa
- 1. Związek klucz podstawowy w tabeli typu zmienna
- 2. Podstawowy klucz złożony w django
- 3. Jak dodać złożony klucz podstawowy do tabeli
- 4. Określ klucz podstawowy tabeli za pomocą TSQL
- 5. Dodaj klucz podstawowy do istniejącej tabeli
- 6. MERGE Naruszenie klucz podstawowy
- 7. sqlalchemy klucz podstawowy bez automatycznego przyrostu
- 8. JPA kompozytowa klucz podstawowy
- 9. Oracle złożony klucz podstawowy/klucz obcego pytania
- 10. Usuń klucz podstawowy w MySQL
- 11. jak dodać klucz podstawowy do tabeli w szynach
- 12. Podstawowy klucz złożony w tabeli Zmienna w przechowywanej procedurze
- 13. jak kropla nienazwany klucz podstawowy
- 14. SQL Server 2008: Dowiedz się klucz podstawowy/zagraniczny w tabeli?
- 15. Czy klucz UUID jako klucz podstawowy w PostgreSQL daje niepoprawną wydajność indeksu?
- 16. Usunąć klucz podstawowy w datatable
- 17. klucz podstawowy naruszenia ograniczenia
- 18. Podstawowy klucz złożony PostgreSQL
- 19. Podstawowy klucz kontra kluczowego
- 20. Klucz podstawowy wielokolumnowy MySQL
- 21. SQL Server: Zdobądź klucz podstawowy tabeli za pomocą kwerendy SQL
- 22. Najlepszy sposób obsługi dużych (UUID) jako klucz podstawowy tabeli MySQL
- 23. Jak zdefiniować złożony klucz podstawowy w SQL?
- 24. Jak tabeli MySQL automatycznego przyrostu klucz podstawowy z niektórych prefiks
- 25. Dodaj klucz podstawowy do tabeli PostgreSQL tylko, jeśli nie istnieje
- 26. ScalaQuery wielokrotny klucz podstawowy i klucz obcy
- 27. iOS - Klucz podstawowy zestawu danych atrybut klucz
- 28. Określić Stary klucz podstawowy w wyzwalaczu SQL
- 29. MySQL: Określić stołu klucz podstawowy dynamicznie
- 30. Czy klucz obcy może działać jako klucz podstawowy?
Klucz główny to indeks. Twoje pytanie nie ma sensu ... – sp00m
Wiem, że to było. Moje pytanie brzmiało, że chcę utworzyć Pk, ale nie ma na nim żadnego indeksu. – AnandPhadke
Albo być pedantycznym PK jest logicznym ograniczeniem, które zawsze jest implementowane przez unikalny indeks w aktualne wersje SQL Server. –