Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation de varchar (MAX) vs TEXT sur SQL Server

Le VARCHAR(MAX) type remplace TEXT . La différence fondamentale est qu'un TEXT le type stockera toujours les données dans un blob alors que le VARCHAR(MAX) type tentera de stocker les données directement dans la ligne à moins qu'il ne dépasse la limite de 8k et à ce stade, il les stocke dans un blob.

L'utilisation de l'instruction LIKE est identique entre les deux types de données. La fonctionnalité supplémentaire VARCHAR(MAX) vous donne est qu'il peut également être utilisé avec = et GROUP BY comme tout autre VARCHAR colonne peut être. Cependant, si vous avez beaucoup de données, vous aurez un énorme problème de performances en utilisant ces méthodes.

En ce qui concerne si vous devez utiliser LIKE pour rechercher, ou si vous devez utiliser l'indexation de texte intégral et CONTAINS . Cette question est la même quel que soit VARCHAR(MAX) ou TEXT .

Si vous recherchez de grandes quantités de texte et que les performances sont essentielles, vous devez utiliser un index de texte intégral .

LIKE est plus simple à mettre en œuvre et convient souvent à de petites quantités de données, mais ses performances sont extrêmement médiocres avec des données volumineuses en raison de son incapacité à utiliser un index.