Skillnad mellan char och Nvarchar
6 svar · 978 visningar · startad av Addeladde
nvarchar är unicode, kan rymma upp till 8000 tecken. char är inte unicode, och värden som läggs i charfält, fylls på med mellanslag tills fältet är fullt.
Vad är bäst att använda för t.ec fält där man ska fylla i namn, adress och liknande.
varchar. så länge du inte har användning av unicode.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
[Redigerat av @nders den 19 jun 2001]
Vad är unicode?
när ja konverterade min access databas till SQL-server så blev fälten text nvarchar
------------------
Adde
Unicode är ett 16-bitars teckensystem som kan göra betydligt mycket mer än ASCII, som har åtta bitar. Det har stöd för ett gäng med olika tecken, allt från svenska till arabiska. Läs mer på www.unicode.org
------------------
These are the cries of the carrots, the cries of the carrots! You see, Reverend Maynard, tomorrow is harvest day and to them it is the holocaust.
Jag vill påstå att insert- och updateoperationer i varchar-fält går betydligt snabbare än insertoperationer i char-fält (förutsatt att man inte försöker mata in ett alltför stort värde).
Detta beror på att varchar har en fast "bredd" och att tecken egentligen bara skall "ersättas". I char-fältet måste fält läggas till och alla efterföljande tecken skrivas om för att flyttas ett eller flera steg frammåt.
Kör ett experiment själv där du skapar en tabell med char och en tabell med varchar. Alla posterna i både tabellerna innerhåller t.ex. "hej". Om man sedan uppdaterar dessa värden till "hejsan" som är 3 bokstäver längre ser man att tidskomplexiteten ökar med en faktor nio och att transaktionsloggen blir olika stor för de olika operationerna.
Frågan är om inte databasen även blir med fragmenterad på detta sätt eftersom man tvingar till fler pagesplits.
Nåja, allt detta har varit i säck innan det kom i påse, men det var kul att få kunna haspla ur sig lite från en av alla de där SQL-kurserna. :)
/M.
------------------
To understand recursion, we must first understand recursion.
ElMaco: Är det inte tvärt om? Att insert och update i char-fält går mycket snabbare än dito i varchar-fält alltså. Det är ju char-fälten som är av en förbestämd längd.
Eller, är jag ute och cyklar nu?
//PeAr