2010-09-10 7 views
6

Je dois stocker une (grande) requête SQL dans une colonne d'une table et j'ai pensé utiliser un champ BLOB. Pour être clair, je veux stocker la requête, pas son résultat.Oracle BLOB vs VARCHAR

Quel est le meilleur à utiliser: BLOB ou un VARCHAR? Ou quelque chose d'autre peut-être?

Répondre

9

Si vous stockez des données de texte qui ne peuvent pas entrer dans un VarChar2, je pense que vous devez utiliser un CLOB.

Citation de OraFaq: * Un CLOB (Character Large Object) est un type de données Oracle pouvant contenir jusqu'à 4 Go de données. Les CLOB sont pratiques pour stocker du texte. *

+0

oui, je pense que mon texte ne rentre pas dans un VARCHAR. Merci pour l'explication. –

2

Ils sont tous deux différents.

Vous utilisez BLOB pour stocker des données binaires comme une image, un son et d'autres données multimédia.

et VARCHAR pour stocker du texte de n'importe quelle taille jusqu'à la limite.

8

Une autre option est CLOB. Pour les données texte, il est plus logique d'utiliser CLOB que BLOB. Même si vous n'avez pas besoin d'analyser les données dans la base de données, il peut toujours être judicieux d'utiliser CLOB, car même afficher les données est plus simple.

Certaines fonctionnalités ne sont disponibles qu'avec VARCHAR. Par exemple, vous ne pouvez créer qu'un index sur les colonnes VARCHAR (je ne parle pas d'index de texte intégral ici, je sais que vous pouvez créer un index de texte intégral sur une colonne CLOB). Vous ne pouvez pas avoir une clé primaire CLOB ou BLOB (je suppose que vous n'en avez pas besoin, juste à titre d'exemple).

La plupart des opérations VARCHAR sont beaucoup plus rapides que les opérations CLOB/BLOB. Même lire des données est plus rapide si vous utilisez VARCHAR (à moins qu'il y ait vraiment beaucoup de texte dans la colonne). VARCHAR a besoin de moins de mémoire, mais ils seront généralement entièrement lus en mémoire, donc à la fin, VARCHAR peut encore utiliser plus de mémoire.

+0

C'est la meilleure réponse, car elle explique les différences de caractéristiques et de performances entre les colonnes varchar et clob. – Anomaly

8

chaînes courtes → VARCHAR

Les chaînes longues → CLOB

données binaires → blob