sql >> Base de Datos >  >> RDS >> Sqlserver

Usando varchar (MAX) vs TEXT en SQL Server

El VARCHAR(MAX) tipo es un reemplazo para TEXT . La diferencia básica es que un TEXT type siempre almacenará los datos en un blob mientras que VARCHAR(MAX) type intentará almacenar los datos directamente en la fila a menos que supere el límite de 8k y, en ese momento, los almacenará en un blob.

El uso de la declaración LIKE es idéntico entre los dos tipos de datos. La funcionalidad adicional VARCHAR(MAX) te da es que también se puede usar con = y GROUP BY como cualquier otro VARCHAR la columna puede ser. Sin embargo, si tiene una gran cantidad de datos, tendrá un gran problema de rendimiento al utilizar estos métodos.

Con respecto a si debe usar LIKE para buscar, o si debe usar Indización de texto completo y CONTAINS . Esta pregunta es la misma independientemente de VARCHAR(MAX) o TEXT .

Si está buscando grandes cantidades de texto y el rendimiento es clave, debe usar un Índice de texto completo .

LIKE es más simple de implementar y, a menudo, es adecuado para pequeñas cantidades de datos, pero tiene un rendimiento extremadamente bajo con datos grandes debido a su incapacidad para usar un índice.