sql >> Database >  >> RDS >> Sqlserver

Waarom gebruik je varchar(max) niet?

Mijn antwoord hierop gaat niet zozeer over het gebruik van Max als wel over de reden voor VARCHAR(max) versus TEXT.

In mijn boek; ten eerste, tenzij je er absoluut zeker van kunt zijn dat je nooit iets anders dan Engelse tekst zult coderen en mensen niet zullen verwijzen naar namen van buitenlandse locaties, dan zou je NVARCHAR of NTEXT moeten gebruiken.

Ten tweede is het wat u met de velden kunt doen.

TEXT is moeilijk te updaten in vergelijking met VARCHAR, maar je krijgt het voordeel van Full Text Indexing en veel slimme dingen.

Aan de andere kant heeft VARCHAR(MAX) enige ambiguïteit, als de grootte van de cel <8000 tekens is, wordt deze behandeld als rijgegevens. Als het groter is, wordt het behandeld als een LOB voor opslagdoeleinden. Omdat u dit niet kunt weten zonder RBAR te raadplegen, heeft dit mogelijk optimalisatiestrategieën voor plaatsen waar u zeker moet zijn van uw gegevens en hoeveel leesbewerkingen het kost.

Anders, als uw gebruik relatief alledaags is en u geen problemen verwacht met de grootte van gegevens (IE gebruikt .Net en hoeft u zich daarom geen zorgen te maken over de grootte van uw string/char*-objecten) dan is het gebruik van VARCHAR(max) prima.



  1. Hoe bouw ik een samenvatting door deel te nemen aan een enkele tabel met SQL Server?

  2. Tabellen samenvoegen met PostgreSQL

  3. volgorde van uitvoering in webomgeving

  4. Hoe pgAdmin III configureren om de standaarddatabase te openen en tabellenknooppunt te selecteren bij het opstarten?