Quel est le meilleur type de données à utiliser pour stocker des quantités modérées de texte dans SQL Server (2005)?

StackOverflow https://stackoverflow.com/questions/203780

  •  03-07-2019
  •  | 
  •  

Question

Quel est le meilleur type de données à utiliser pour stocker des quantités modérées de texte dans SQL Server (2005)?

Par exemple, imaginez une table stockant des informations sur les téléchargements disponibles sur un site Web. Je veux un titre pour le téléchargement qui soit bref, disons varchar (20). Un chemin, disons varchar (255), puis je veux stocker un texte convivial sur le téléchargement - une description. Dans certains cas, cela peut être aussi court que le titre, d'autres fois, vous aurez peut-être besoin de quelques paragraphes d'explication.

Quoi de mieux? Un varchar d'une taille de 4000, ou un varchar (max) ou autre chose?

Était-ce utile?

La solution

La limite de caractères la plus élevée de la spécification PAD (Portable Application Description) pour la description de programme est de 2000 caractères * voir la section Description des programmes.

http://www.asp-shareware.org/pad/spec /spec.php

Les outils de soumission de site de téléchargement utilisent cette spécification pour aider les auteurs à soumettre leur logiciel plus facilement. Je pense aussi que vous pouvez télécharger quelques listes qui respectent les spécifications du PAD.

Donc, je suggérerais varchar (2000) sur la base de ce fait, je ne voudrais pas stocker plus que nécessaire. Un seul enregistrement conviendrait avec varchar (max), mais lorsque vous avez des milliers, le coût de stockage peut augmenter.

Edit: varchar (max) peut être compris entre 2 Go et 1, c’est pourquoi je le limiterais. http://msdn.microsoft.com/en-us /library/ms176089(SQL.90).aspx

Autres conseils

utilisez varchar (max), vous pouvez y placer un très grand texte et sa taille de stockage augmente selon les besoins. vous pouvez avoir des fonctions de groupe SQL comme avoir, group by sur varchar (max). ou vous pouvez choisir un type de données texte si vous recherchez une recherche en texte intégral dans SQL

La taille devrait dépendre de la taille des données stockées. N'utilisez pas varchar (max) pour un champ d'état avec seulement 2 caractères. Je regarde habituellement la valeur la plus importante que je m'attends, puis j'ajoute un facteur de fudge de 10 à 20% pour déterminer la taille. N'oubliez pas d'utiliser nvarchar si vous devez stocker des caractères Unicode.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top