Varchar(max) - Spalte nicht erlaubt werden, einen Primärschlüssel in SQL Server
Varchar(max) - Spalte nicht erlaubt werden, einen Primärschlüssel in SQL Server.
Was ist die maximale Länge eines varchar-Typ gemacht werden können, einen primären Schlüssel.
Könnte dies eine schlechte Praxis, aber kam über die situation.
- Warum tun Sie nicht haben eine ID Spalte?
- Sie sind nicht mit varchar(max) für alles, außer den Feldern, die Sie erwarten, mehr als 8000 Zeichen sind Sie? Sie haben performance-Probleme, wenn dies aufgrund der Indizierung Probleme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
900 bytes ist die max Länge für eine primary key, dies ist eine schlechte Idee, meiner Meinung nach, warum nicht Sie einen Ersatzschlüssel statt?
Diese Frage bereits beantwortet wurde in diesem thread; die kurze Antwort ist, dass ein index-Feld darf nicht mehr als 900 Byte. Das heißt, es ist allgemein eine schlechte Idee, verwenden Sie ein long VARCHAR-Feld als index für eine Vielzahl von Gründen wie Effizienz und Wartbarkeit.
Der Primärschlüssel wird verwendet, in allen anderen Indizes, um Zeilen zu identifizieren. Die möglicherweise multi-megabyte-Wert als Schlüssel macht sehr wenig Sinn, daher die Grenze im Allgemeinen auf die Gesamtanzahl der bytes in beliebige Taste.