Qual è il tipo di dati migliore da utilizzare per archiviare quantità moderate di testo in SQL Server (2005)?

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

  •  03-07-2019
  •  | 
  •  

Domanda

Qual è il tipo di dati migliore da utilizzare per archiviare quantità moderate di testo in SQL Server (2005)?

Ad esempio, immagina una tabella che memorizza informazioni sui download disponibili su un sito Web. Voglio un titolo per il download che sia breve, diciamo varchar (20). Un percorso, ad esempio varchar (255), quindi voglio memorizzare un testo di facile utilizzo per il download: una descrizione. In alcuni casi potrebbe essere breve come il titolo, altre volte potresti aver bisogno di alcuni paragrafi di spiegazione.

Cosa c'è di meglio? Un varchar con una dimensione di dire 4000, o un varchar (max) o qualcos'altro?

È stato utile?

Soluzione

Il limite massimo di caratteri della specifica PAD (Portable Application Description) per la descrizione del programma è di 2000 caratteri * vedere la sezione Descrizioni del programma.

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

Gli strumenti di invio del sito di download utilizzano queste specifiche per facilitare l'invio da parte degli autori del proprio software. Inoltre penso che ci siano un paio di elenchi che puoi scaricare che seguono le specifiche PAD.

Quindi suggerirei varchar (2000) in base a quel fatto che non vorrei archiviare più del necessario. Un record andrebbe bene con varchar (max), ma quando ne hai migliaia il costo di archiviazione potrebbe aumentare.

Modifica: varchar (max) può essere 2GB - 1, ecco perché lo limiterei. http://msdn.microsoft.com/en-us /library/ms176089(SQL.90).aspx

Altri suggerimenti

usa varchar (max), puoi inserire un testo enorme in esso e le sue dimensioni di archiviazione aumentano come richiesto. puoi avere funzioni di gruppo sql come avere, raggruppa per su varchar (max). oppure puoi scegliere il tipo di dati di testo se cerchi la ricerca full-text in SQL

La dimensione dovrebbe dipendere dalla dimensione dei dati archiviati. Non utilizzare varchar (max) per un campo di stato con solo 2 caratteri. Di solito osservo il valore più grande che mi aspetto di ottenere e quindi aggiungo un fattore di sfumatura del 10-20% nel determinare la dimensione. Non dimenticare di usare nvarchar se è necessario memorizzare caratteri unicode.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top