Hello,
Lorsque je reçois des fichiers input en entrée, j'hésite toujours entre les charger avec un sql*Loader ou bien définir une table externe. Y a-t-il des best practices à ce niveau? Pourquoi employer une solution plutôt qu'une autre?
Merci
Hello,
Lorsque je reçois des fichiers input en entrée, j'hésite toujours entre les charger avec un sql*Loader ou bien définir une table externe. Y a-t-il des best practices à ce niveau? Pourquoi employer une solution plutôt qu'une autre?
Merci
Moi je dirais au passage "pourquoi parler français quand le franglais est d'un si bel effet ?"
Sur le plan technique, c'est simple.
Si vos fichiers de données continuent à être modifiés au fil de l'eau, et sont simplement lus (mais pas modifiés) par Oracle, alors c'est la table externe qui répond au besoin. Exemple : lecture d'un alert.log par SELECT.
Pour les autres cas, il faut charger les données en table pour en obtenir tous les avantages : possibilité de modifier les données, de les sauvegarder comme toutes les autres tables, obtention des performances normales d'une structure relationnelle.
je rajouterai aussi au post de Pomalaix qu'il faut considérer que les tables externes ne peuvent être indexées.
cela m'a valu une mauvaise expérience par le passé.
c'est vrai que cela parait être tip top les EXTERNAL TABLES mais il faut bien étudier le contexte fonctionnel et applicatif qui va attaquer ce genre de table en SQL
Désolé pour le franglais Pomalaix mais je n'ai pas réussi à traduire le terme correctement.
Partager