2008-09-26 13 views

Respuesta

46

En SQL 2005 y versiones posteriores, VARCHAR (MAX) es de hecho el método preferido. El tipo de texto todavía está disponible, pero principalmente para compatibilidad con SQL 2000 y versiones anteriores.

10

Me gusta usar VARCHAR (MAX) (o en realidad NVARCHAR) porque funciona como un campo VARCHAR estándar. Desde su introducción, lo uso en lugar de campos de texto siempre que sea posible.

+4

Muy buen punto sobre NVARCHAR; mi mal, debería haber mencionado eso. –

2

En un BLOB

burbujas son muy grandes de datos binarios o de carácter variable, típicamente documentos (.txt, .doc) y fotos (.jpeg, .gif, .bmp), que se pueden almacenar en una base de datos . En SQL Server, gotas pueden ser texto, ntext o tipo de datos de imagen, se puede utilizar el tipo de texto

texto

de datos no Unicode de longitud variable, almacenados en la página de códigos del servidor, con una longitud máxima de 231 - 1 (2,147,483,647) caracteres.

2

De acuerdo con el texto encontrado here, varbinary (max) es el camino a seguir. Podrá almacenar aproximadamente 2 GB de datos.

2

Varchar (max) está disponible solo en SQL 2005 o posterior. Esto almacenará hasta 2 GB y se puede tratar como un varchar regular. Antes de SQL 2005, use el tipo de "texto".

2

Divida el texto en fragmentos que la base de datos puede manejar. Y, coloca el texto dividido en otra tabla. Use id de la tabla text_chunk como text_chunk_id en su tabla original. Es posible que desee otra columna en su tabla para mantener el texto que se ajuste a su tipo de datos de texto más grande.

CREATE TABLE text_chunk (
    id NUMBER, 
    chunk_sequence NUMBER, 
    text BIGTEXT) 
+4

Esto parece muy pesado; Algún contexto en cuanto a cuándo esta técnica es necesaria o apropiada frente a nvarchar, y cuáles son los costos/beneficios que mejorarían la calidad de la respuesta. – SAJ14SAJ

0

Uso nvarchar(max) para almacenar todo el hilo de conversación de chat en un solo registro. Cada mensaje de texto individual (o bloque) se identifica en el texto del contenido insertando marcadores.

Ejemplo:

{{UserId: Date and time}}<Chat Text>. 

En visualización de la hora de interfaz de usuario debe ser lo suficientemente inteligente como para comprender esta marcadores y mostrarlo correctamente. De esta forma, un registro debería ser suficiente para una sola conversación siempre que no se alcance el límite de tamaño.

Cuestiones relacionadas