-
Clob vs Varchar2
Bonjour.
Dans ma table de production (10g2), je remarque que la taille maximale des Clobs est pour 90% des cas, inférieurs à 2000 caractères...
Vous savez, ces fameux champs dont on vous dit qu'il faut prévoir beaucoup de place et qui ne sont quasiment jamais remplis...
résultat obtenu par : select max(length ( mon_champ_clob ) ) from ma_table;
Je n'ai pas encore entrepris de démarche mais y aurait-il un gain à passer ces champs en Varchar2 ?
Certains de ces champs sont utilisé par catsearch. Créer un index et utiliser un like sur un varchar2 est-il plus rapide ?
Merci de vos commentaires...
-
Bonjour,
Pour ma part, voici mon opinion :
Du point de vue utilisation,
le varchar2 est plus facile à manier,
il existe plus de fonctions à utiliser sur des varchar2 que sur des clobs.
Du point de vue administration,
le clob nécessite un tablespace, donc un suivi supplémentaire. Le varchar2 ne nécessite pas d'administration particulère.
La réorganisation de tables utilsant des clobs est plus complexe.
Donc en résumer, on gagne en tant de développement et en facilité d'administration en utilisant du varchar2
-
Salut,
de plus cela peut te permettre d'alléger la taille de ta base (tablespace moins volumineux).
-
Si tu es sur que la taille max de tes données ne pourra jamais dépasser la taille max d'un varchar, la question ne se pose même pas, il vaut mieux un varchar !
En effet la gestion des LOB est plus conséquente au niveau serveur.
De plus, cela dépend aussi du framework/driver utilisé pour les manipuler (hors sqlplus).
Car les LOB peuvent être optimisé lorsque leur API spécifique est utilisée. Mais la plupart des drivers génériques les mappent sur des strings (c'est à dire qu'ils sont récupérés comme s'ils étaient des varchar).
Oracle 10g et 11g ont optimisé l'utilisation des très gros LOBs dont la taille en base peut aller maintenant jusqu'à 128 Térabytes !
Ma foi, pour ne revenir à tes clobs, autant utiliser un varchar si tu peux car cela sera beaucoup plus simple à utiliser.