VARCHAR(MAX)
typ är en ersättning för TEXT
. Den grundläggande skillnaden är att en TEXT
typ kommer alltid att lagra data i en blob medan VARCHAR(MAX)
typ kommer att försöka lagra data direkt i raden om den inte överskrider 8k-begränsningen och vid den tidpunkten lagrar den den i en blob.
Att använda LIKE-satsen är identisk mellan de två datatyperna. Tilläggsfunktionen VARCHAR(MAX)
ger dig är att den också kan användas med =
och GROUP BY
som alla andra VARCHAR
kolumn kan vara. Men om du har mycket data kommer du att ha ett enormt prestandaproblem med dessa metoder.
När det gäller om du ska använda LIKE
för att söka, eller om du ska använda Fulltextindexering och CONTAINS
. Den här frågan är densamma oavsett VARCHAR(MAX)
eller TEXT
.
Om du söker i stora mängder text och prestanda är nyckeln bör du använda ett Full Text Index .
LIKE
är enklare att implementera och är ofta lämplig för små mängder data, men den har extremt dålig prestanda med stora data på grund av dess oförmåga att använda ett index.