Powiel możliwe:
is there an advantage to varchar(500) over varchar(8000)?Różnica między varchar (5) a varchar (5000)?
W SQL Server możemy określić typ pola varchar(n)
:
wielkość bagażu jest rzeczywista długość w bajtach danych wprowadzonych, nie n bajtów.
Często przy planowaniu struktury bazy danych próbuję wyobrazić maksymalną możliwą długość ciągów, które mają być przechowywane w tych varchar
pól, a następnie ustawić rozmiar + wyobrazić, że jakiś backup na polu varchar
. Czasami może się zdarzyć, że początkowo zapewniony pokój nie wystarczy na pole, a następnie muszę zwiększyć długość.
Ale czy warto ograniczyć pole varchar
do pewnej wartości, a nie tylko ustawić coś w rodzaju varchar(5000)
lub nawet varchar(max)
, które będzie w 100% pasować do przypadku? Czy jest jakaś korzyść w organizacji strony w SQL Server lub organizacji indeksu, kiedy ograniczam tę długość o n
?
Aktualizacja
Oto co mam na myśli (przewagi): https://stackoverflow.com/a/5353196/355264
Tak, optymalizator kwerendy można odgadnąć, ile wierszy zmieścić się w stronę, jeśli dużo pola varchar, które są większe niż to konieczne, SQL Serwer może wewnętrznie odgadnąć niepoprawną liczbę wierszy.
Czy powyższe jest prawdziwe? Czy są jakieś inne zalety?
możliwy duplikat [jest korzyścią varchar (500) nad varchar (8000)?] (http://stackoverflow.com/questions/2009694/is-there-an-advantage-to -varchar500-over-varchar8000) lub [varchar (ma x) wszędzie?] (http://stackoverflow.com/questions/2091284/varcharmax-everywhere) lub [SQL Server VARCHAR Column Width] (http://dba.stackexchange.com/questions/11614/sql-server- varchar-column-width) –
RE: Twoja edycja. Zobacz [moja odpowiedź tutaj] (http://stackoverflow.com/questions/2009694/is-there-an-advantage-to-varchar500-over-varchar8000/5654947#5654947) –