Metoder for å lagre og hente tekstlige data i Microsofts SQL Server har endret seg i takt med den allestedsnærværende programvare evolusjon . Dataenes innhold, programmatisk betydning, din maskinvare evner og begrensninger av søknaden din alle spille en rolle i å avgjøre den beste typen å bruke på datalagring nivå . Forskjeller
SQL Server TEKST typen kan lagre opptil 2 gigabyte med data , og som standard vises lagre sine data ut av rad - et felt i en TEKST kolonne vil lagre en henvisning til de faktiske dataene , snarere enn som inneholder det direkte. Den VARCHAR datatype har en øvre grense på 8000 tegn , men lagrer dataene i - rad som standard, noe som betyr at en oppføring i et felt av en VARCHAR kolonnen vil lagre disse dataene i feltet nøyaktig slik du skrev det.
bruk
p Det er lurt å bruke TEKST type for data som ikke vil bli spørres , som det vanligvis tar lengre tid å hente enn VARCHAR in- rad lagring. Så, som navnet skulle tilsi, er teksten typen ideelt egnet til lange områder med tekst data som bloggkommentarer , mens VARCHAR er best å lagre brukernavn, kolonnenavn eller ofte hentet streng verdier.
Slektsforskning
TEKST var ikke alltid direkte tilgjengelig i MS SQL Server , og bruk av MAX -funksjonen endret seg de siste versjonene. I 2005 kunne funksjon påføres en VARCHAR kolonne for å lagre data ut av raden når den oversteg 8000 tegn. MS SQL Server 2008 støtter en "Tekst i rad " alternativet, som lar deg sette en TEKST kolonne for å lagre data i - rad , men Microsoft sier at dette alternativet ikke vises i fremtidige versjoner av programvaren .
Best Practices
VARCHAR fungerer best for ofte spørres verdier eller situasjoner med tegn under 8000 , for eksempel en tekstboks i et webskjema , mens teksten er et bedre valg for ustrukturert tekstlige data med en vilkårlig lengde. Per MS SQL Server 2008 R2 , VARCHAR kolonner har et alternativ, kalt " lagre store datatyper Out of Row ", som lar deg angi data terskler og atferd . Microsoft anbefaler å bruke dette alternativet med VARCHAR ( MAX ) for store datalagring i nåværende og fremtidig utviklingsarbeid.