|
|
Archives of the TeradataForum
Message Posted: Mon, 22 Nov 2004 @ 23:19:50 GMT
Subj: | | Quesion on Explain plan on "Create a new table" |
|
From: | | akleema_talukder |
When I do a explain on a " create table " I see in the explain plan two steps which I do not understand reason behind it. I highlighted these
two steps below. We know that we see "AMP ABORT test " which caused by an ABORT or ROLLBACK statement . My question is: Why do we see these steps
in the Create table statements?"
I will appreciate if anybody gives me any hints for the reason behind it.
explain CREATE SET TABLE GDYR_EDW.CO_Test ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL
(
CO_CD CHAR(4) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
SBU_ID BYTEINT,
EFF_DT DATE FORMAT 'YYYY-MM-DD' NOT NULL,
JNT_VENTURE_IND CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL COMPRESS 'N',
TERR_NAME VARCHAR(35) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
EDW_JOB_ID INTEGER NOT NULL)
PRIMARY INDEX ( CO_CD );
Explain Plan:
Explanation -------------------------------------------------- | |
| 1) | First, we lock GDYR_EDW.CO_Test for exclusive use.
| |
| 2) | Next, we lock a distinct DBC."pseudo table" for write on a RowHash for deadlock prevention, we lock a distinct DBC."pseudo table" for write
on a RowHash for deadlock prevention, we lock a distinct DBC."pseudo table" for read on a RowHash for deadlock prevention, and we lock a distinct
DBC."pseudo table" for write on a RowHash for deadlock prevention.
| |
| 3) | We lock DBC.AccessRights for write on a RowHash, we lock DBC.TVFields for write on a RowHash, we lock DBC.TVM for write on a RowHash, we
lock DBC.DBase for read on a RowHash, and we lock DBC.Indexes for write on a RowHash.
| |
| 4) | We execute the following steps in parallel.
| |
| |
| 1) | We do a single-AMP ABORT test from DBC.DBase by way of the unique primary index.
| | |
| |
| 2) | We do a single-AMP ABORT test from DBC.TVM by way of the unique primary index.
| | |
| |
| 3) | We do an INSERT into DBC.TVFields (no lock required).
| | |
| |
| 4) | We do an INSERT into DBC.TVFields (no lock required).
| | |
| |
| 5) | We do an INSERT into DBC.TVFields (no lock required).
| | |
| |
| 6) | We do an INSERT into DBC.TVFields (no lock required).
| | |
| |
| 7) | We do an INSERT into DBC.TVFields (no lock required).
| | |
| |
| 8) | We do an INSERT into DBC.TVFields (no lock required).
| | |
| |
| 9) | We do an INSERT into DBC.Indexes (no lock required).
| | |
| |
| 10) | We do an INSERT into DBC.TVM (no lock required).
| | |
| |
| 11) | We INSERT default rights to DBC.AccessRights for GDYR_EDW.CO_Test.
| | |
| 5) | We create the table header.
| |
| 6) | Finally, we send out an END TRANSACTION step to all AMPs involved in processing the request.
| |
| -> | No rows are returned to the user as the result of statement 1.
| |
thanks,
Akleema
| |