Bonjour,
Est-ce que quelqu'un pourra m’aider ? Laquelle des deux requêtes, qui retournent le même résultat, est plus performante ?
Plus généralement est ce que le fait de faire une liaison entre deux tables est plus performant que de faire appel à des SELECT imbriqués ?
Requête 1 :
CREATE TABLE MY_TEMP_TRANS
NOLOGGING
PARALLEL (DEGREE 3)
AS SELECT PM.OBJ_ID0
FROM PROFILE_PECS_TRANSPAYMENT_T PM, TEMP_ITEM TI
WHERE PM.ITEM_OBJ_ID0 = TI.POID_ID0
/
Requête 2 :
CREATE TABLE MY_TEMP_TRANS
NOLOGGING
PARALLEL (DEGREE 3)
AS SELECT OBJ_ID0
FROM PROFILE_PECS_TRANSPAYMENT_T
WHERE ITEM_OBJ_ID0 IN
( SELECT POID_ID0 FROM TEMP_ITEM TI )
/
En effet le problème que j’ai c’est une erreur « snapshot too old » quand j’essaye de créer la table « MY_TEMP_TRANS ». Parce que je ne suis pas le seul qui travaille sur cette base donc il y a potentiellement d’autres utilisateurs qui vont modifier la table PROFILE_PECS_TRANSPAYMENT_T.
Comment dois-je modifier ma requête pour ne plus avoir l’erreur « snapshot too old » ?
Merci beaucoup,
Ioan.
Est-ce que quelqu'un pourra m’aider ? Laquelle des deux requêtes, qui retournent le même résultat, est plus performante ?
Plus généralement est ce que le fait de faire une liaison entre deux tables est plus performant que de faire appel à des SELECT imbriqués ?
Requête 1 :
CREATE TABLE MY_TEMP_TRANS
NOLOGGING
PARALLEL (DEGREE 3)
AS SELECT PM.OBJ_ID0
FROM PROFILE_PECS_TRANSPAYMENT_T PM, TEMP_ITEM TI
WHERE PM.ITEM_OBJ_ID0 = TI.POID_ID0
/
Requête 2 :
CREATE TABLE MY_TEMP_TRANS
NOLOGGING
PARALLEL (DEGREE 3)
AS SELECT OBJ_ID0
FROM PROFILE_PECS_TRANSPAYMENT_T
WHERE ITEM_OBJ_ID0 IN
( SELECT POID_ID0 FROM TEMP_ITEM TI )
/
En effet le problème que j’ai c’est une erreur « snapshot too old » quand j’essaye de créer la table « MY_TEMP_TRANS ». Parce que je ne suis pas le seul qui travaille sur cette base donc il y a potentiellement d’autres utilisateurs qui vont modifier la table PROFILE_PECS_TRANSPAYMENT_T.
Comment dois-je modifier ma requête pour ne plus avoir l’erreur « snapshot too old » ?
Merci beaucoup,
Ioan.