doc-exports/docs/dws/tool/dws_16_0069.html
Lu, Huayi 27019c2991 DWS TOOL 830.201 version
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:35:25 +00:00

160 lines
19 KiB
HTML

<a name="EN-US_TOPIC_0000001819336117"></a><a name="EN-US_TOPIC_0000001819336117"></a>
<h1 class="topictitle1">Indexes</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p195131526175020">The CREATE TABLE statement supports creation of an index. Migration tool supports the TABLE statement with PRIMARY INDEX and UNIQUE INDEX.</p>
<p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p9190174920116">The tool will not add DISTRIBUTE BY HASH which is used to create a table with PRIMARY KEY and Non-Unique PRIMARY INDEX.</p>
<p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p1948164012113"><strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b100842060631719">Input: CREATE TABLE with INDEX</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_screen15631110175014"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">DP_TEDW</span><span class="p">.</span><span class="n">B0381_ACCOUNT_OBTAINED_MAP</span><span class="p">,</span>
<span class="w"> </span><span class="k">NO</span><span class="w"> </span><span class="n">FALLBACK</span><span class="p">,</span><span class="w"> </span><span class="k">NO</span><span class="w"> </span><span class="k">BEFORE</span><span class="w"> </span><span class="n">JOURNAL</span><span class="p">,</span><span class="w"> </span>
<span class="w"> </span><span class="k">NO</span><span class="w"> </span><span class="k">AFTER</span><span class="w"> </span><span class="n">JOURNAL</span><span class="p">,</span><span class="w"> </span><span class="n">CHECKSUM</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Ranked_Id</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Source_System_Code</span><span class="w"> </span><span class="nb">SMALLINT</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Operational_Acc_Obtained_Id</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="nb">CHARACTER</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">LATIN</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="n">CASESPECIFIC</span><span class="w"> </span><span class="n">FORMAT</span><span class="w"> </span><span class="s1">'X(50)'</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Mapped_Id</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="k">PRIMARY</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">B0381_ACCOUNT_OBTAINED_idx_PR</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Ranked_Id</span><span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="k">UNIQUE</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">B0381_ACCT_OBT_MAP__idx_SCD</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Source_System_Code</span><span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="k">INDEX</span><span class="w"> </span><span class="n">B0381_ACCT_OBT_MAP__idx_OPID</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Operational_Acc_Obtained_Id</span><span class="w"> </span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p363910011508"><strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b638963135017">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_screen66391608507"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">DP_TEDW</span><span class="p">.</span><span class="n">B0381_ACCOUNT_OBTAINED_MAP</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Ranked_Id</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Source_System_Code</span><span class="w"> </span><span class="nb">SMALLINT</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Operational_Acc_Obtained_Id</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Mapped_Id</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="n">DISTRIBUTE</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">HASH</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Ranked_Id</span><span class="w"> </span><span class="p">);</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">B0381_ACCT_OBT_MAP__idx_SCD</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">DP_TEDW</span><span class="p">.</span><span class="n">B0381_ACCOUNT_OBTAINED_MAP</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Source_System_Code</span><span class="w"> </span><span class="p">);</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="n">B0381_ACCT_OBT_MAP__idx_OPID</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">DP_TEDW</span><span class="p">.</span><span class="n">B0381_ACCOUNT_OBTAINED_MAP</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">Operational_Acc_Obtained_Id</span><span class="w"> </span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<div class="note" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_note43571746105513"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p13675468553">UNIQUE is removed in the index since index column list (organic_name) is not a super set of DISTRIBUTE BY column list (serial_no, organic_name).</p>
</div></div>
<p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p179687513281"><strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b117823980831719">Input - CREATE TABLE with Primary Key and Non-Unique Primary Index</strong> (DISTRIBUTE BY HASH is not added)</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_screen149681953288"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">employee</span>
<span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">EMP_NO</span><span class="w"> </span><span class="nb">INTEGER</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">DEPT_NO</span><span class="w"> </span><span class="nb">INTEGER</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">FIRST_NAME</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">LAST_NAME</span><span class="w"> </span><span class="nb">CHAR</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">SALARY</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">ADDRESS</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="k">CONSTRAINT</span><span class="w"> </span><span class="n">pk_emp</span><span class="w"> </span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">EMP_NO</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">DEPT_NO</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p10972125122819"><strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b123911518125014">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_screen79731159288"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">employee</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">EMP_NO</span><span class="w"> </span><span class="nb">INTEGER</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">DEPT_NO</span><span class="w"> </span><span class="nb">INTEGER</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">FIRST_NAME</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">LAST_NAME</span><span class="w"> </span><span class="nb">CHAR</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">SALARY</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">ADDRESS</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="k">CONSTRAINT</span><span class="w"> </span><span class="n">pk_emp</span><span class="w"> </span><span class="k">PRIMARY</span><span class="w"> </span><span class="k">KEY</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">EMP_NO</span><span class="w"> </span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="p">)</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_section114100421544"><h4 class="sectiontitle">Creating a Partition Table with an Index</h4><p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p1324212456514">If <strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b28172572515">tdMigrateRANGE_N</strong> is set to <strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b3873103312203">true</strong>,</p>
</div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_table584475133312" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_row1845125118331"><th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.13.1.3.1.1"><p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p7845451203315"><strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b49317347165">Input</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.13.1.3.1.2"><p id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_p3845751203317"><strong id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_b16880193914167">Output</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_row1184555163312"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.13.1.3.1.1 "><pre class="screen" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_screen10124266396">CREATE SET TABLE SC.TAB , NO FALLBACK,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM=DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
ACCOUNT_NUM VARCHAR(255) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
,ACCOUNT_MODIFIER_NUM CHAR(18) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL
,END_DT DATE FORMAT 'YYYY-MM-DD'
,UPD_TXF_BATCHTD INTEGER COMPRESS
)
PRIMARY INDEX XPKT0300_AGREEMENT (ACCOUNT_NUM,ACCOUNT_MODIFIER_NUM)
PARTITION BY RANGE_N(END_DT BETWEEN '2001-01-01' AND '2020-12-31' EACH INTERVAL '1' DAY, NO RANGE ,UNKNOWN)
INDEX (UPD_TXF_BATCHTD)
;</pre>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.13.1.3.1.2 "><pre class="screen" id="EN-US_TOPIC_0000001819336117__en-us_topic_0000001706105081_en-us_topic_0000001434910249_screen12640175451013">CREATE
TABLE
SC.TAB (
ACCOUNT_NUM VARCHAR( 255 ) /* CHARACTER SET LATIN*/
/* NOT CASESPECIFIC*/ NOT NULL
,ACCOUNT_MODIFIER_NUM CHAR( 18 ) /* CHARACTER SET LATIN*/ /* NOT CASESPECIFIC*/ NOT NULL
,END_DT DATE
,UPD_TXF_BATCHTD INTEGER /* COMPRESS */
) DISTRIBUTE BY HASH (
ACCOUNT_NUM
,ACCOUNT_MODIFIER_NUM
) PARTITION BY RANGE (END_DT) (
PARTITION TAB_1 start ('2001-01-01')
END ('2020-12-31') EVERY (
INTERVAL '1' DAY )
) ;
CREATE INDEX ON SC.TAB (UPD_TXF_BATCHTD) LOCAL;</pre>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_16_0061.html">Migrating Tables</a></div>
</div>
</div>