DÉCLARER TABLE TEMPORAIRE GLOBALE Vs GLOBAUX de CRÉER une TABLE TEMPORAIRE dans DB2
suis entrain de créer un GLOBAL TEMPORARY TABLE
dans DB2. et quand j'ai surfé, j'ai reçu un deux façon de créer
1. Déclarer
2. Créer.
1. DECLARE GLOBAL TEMPORARY TABLE SESSION.TEMP_EMP
(EMPNO CHAR(6) NOT NULL,
SALARY DECIMAL(9, 2),
BONUS DECIMAL(9, 2),
COMM DECIMAL(9, 2)) WITH REPLACE ON COMMIT PRESERVE ROWS ;
2. CREATE GLOBAL TEMPORARY TABLE TMPDEPT
(TMPDEPTNO CHAR(3) NOT NULL,
TMPDEPTNAME VARCHAR(36) NOT NULL,
TMPMGRNO CHAR(6),
TMPLOCATION CHAR(16) ) ON COMMIT PRESERVE ROWS ;
et d'IBM site j'ai eu une info que créer est la meilleure depuis sa peut être persistante , permettant à toutes les sessions de l'utilisateur pour accéder à la même définition de la table sans avoir à les déclarer au démarrage et beaucoup plus d'avantages.
Lien : http://www.ibm.com/developerworks/data/library/techarticle/dm-0912globaltemptable/
et j'avais quelques questions à l'aide de la création de plus de déclarer:
-
Je ne pouvais pas trouver la
Replace
mot-clé lors de l'utilisationCREATE GLOBAL TEMPORARY TABLE
. -
envisager un scénario,
suis l'ouverture de la connexion et de l'exécution d'une Procédure Stockée,
dans cette Procédure Stockée suis de la création Mondiale de la table temporaire
et dans le cadre de cette Procédure Stockée vais appeler une Autre Procédure Stockée
ce qui encore une fois ontsame
Créer de la table temporaire de déclaration .. ce qui va se passer dans ce cas..
ne jeter aucune erreur, puisque à la fois de table nae sont les mêmes et dans le même connexion? -
Déclarer session et créer de ne pas avoir?? n'est-ce lié persistant??
-
en performace sage qui est le meilleur? Déclarer temp ou créer des temp?
-
Suggérer quelques scenarioes pour le meilleur usage de déclarer /créer !!
OriginalL'auteur A Programmer | 2013-03-29
Vous devez vous connecter pour publier un commentaire.
Il y a un bon article de Craig Mullins S. qui couvre les principales différences entre les deux. Pour la plupart des fins, ils fonctionnent de la même.
Créé des Tables temporaires sont créés dans
DSNDB07
, qui est le fichier de travail de base de données (la même zone de stockage utilisé au cours de SQL qui ont besoin de travail de stockage). Déclaré Tables temporaires sont stockés temporairement dans un espace de stockage que vous avez créer.Il y a quelques inconvénients pour le CTT:
De la TNT sont généralement beaucoup plus souple:
Maintenant pour vos questions numérotées:
1. & 2. Il n'existe pas. Je crois (et je ne suis pas sûr à 100% si cela est exact, notre boutique
assez bien utilise Cdi dans tous les cas) qu'un CTT est déclaré une fois (par
un DBA), puis les programmeurs d'application pouvez l'utiliser dans n'importe quelle session.
Chaque connexion ont leur propre copie, et une fois que l'application se déconnecte,
les données stockées dans cette CTT dans cette session va s'en aller.
3.
SESSION
est juste le schéma de l'identificateur pour le Cdi. Il montre que c'est temporairetable qui ne persistent pas.
4. Je pense que les deux ont environ la même performance. Ils seront plus rapide
que des tables normales, parce que le verrouillage, l'enregistrement, récupération, etc ne s'applique pas.
5. En général, je dirais que les Cdi sont le chemin à parcourir, mais t tauri classique sont
utile (comme Craig dit dans son article):
OriginalL'auteur bhamby
Nous n'avons pas besoin de la TNT d'indices ou de mise à jour des accès et n'avait pas l'utiliser pour tout RI.
OriginalL'auteur Bob Cothroll