Quel est le meilleur moyen de stocker une grande quantité de text dans une table SQL Server?

Quel est le meilleur moyen de stocker une grande quantité de text dans une table dans le server SQL?

Est-ce que varchar (max) est fiable?

Dans SQL 2005 et supérieur, VARCHAR (MAX) est en effet la méthode préférée. Le type TEXT est toujours disponible, mais principalement pour la rétrocompatibilité avec SQL 2000 et versions antérieures.

J'aime utiliser VARCHAR (MAX) (ou en fait NVARCHAR) car il fonctionne comme un champ VARCHAR standard. Depuis son introduction, je l'utilise plutôt que des champs TEXT autant que possible.

Dans un BLOB

Les BLOB sont de très grandes données binarys ou de caractères variables, généralement des documents (.txt, .doc) et des images (.jpeg, .gif, .bmp), qui peuvent être stockés dans une database. Dans SQL Server, les objects BLOB peuvent être de type text, ntext ou image, vous pouvez utiliser le type de text

text

Données non-Unicode de longueur variable, stockées dans la page de codes du server, avec une longueur maximale de 231 – 1 (2 147 483 647) caractères.

Selon le text trouvé ici , varbinary (max) est le path à parcourir. Vous pourrez stocker environ 2 Go de données.

Varchar (max) est disponible uniquement dans SQL 2005 ou version ultérieure. Cela va stocker jusqu'à 2 Go et peut être traité comme un varchar régulier. Avant SQL 2005, utilisez le type "text".

Divisez le text en morceaux que votre database peut réellement gérer. Et, mettez le text séparé dans une autre table. Utilisez l' id de la table text_chunk_id en tant que text_chunk_id dans votre table d'origine. Vous souhaiterez peut-être qu'une autre colonne de votre table conserve le text correspondant à votre type de données de text le plus volumineux.

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

Utilisez nvarchar(max) pour stocker l'set du fil de conversation dans un seul logging. Chaque message text individuel (ou bloc) est identifié dans le text du contenu en insérant des marqueurs.

Exemple:

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

Sur l'affichage, l'interface user doit être suffisamment intelligente pour comprendre ces marqueurs et les afficher correctement. De cette façon, un logging devrait suffire pour une seule conversation tant que la limite de taille n'est pas atteinte.