Files
doc-exports/docs/dws/tool/dws_16_0205.html
luhuayi a5e3903f6b DWS TG 910.211 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: luhuayi <luhuayi@huawei.com>
Co-committed-by: luhuayi <luhuayi@huawei.com>
2025-04-23 13:53:01 +00:00

145 lines
21 KiB
HTML

<a name="EN-US_TOPIC_0000001813438924"></a><a name="EN-US_TOPIC_0000001813438924"></a>
<h1 class="topictitle1">Transaction Management</h1>
<div id="body32001227"><div class="section" id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_section2096165616221"><h4 class="sectiontitle">TRANSACTION</h4><p id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_p796535712215">DSC will perform adaptation based on GaussDB(DWS) features during MySQL transaction statement migration.</p>
<p id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164746_p154471135174511"><strong id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164746_b254510134614">Input</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164746_screen553865117451"><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>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span></pre></div></td><td class="code"><div><pre><span></span><span class="o">##</span><span class="w"> </span><span class="k">Each</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="n">applies</span><span class="w"> </span><span class="k">only</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">next</span><span class="w"> </span><span class="n">single</span><span class="w"> </span><span class="k">transaction</span><span class="w"> </span><span class="n">performed</span><span class="w"> </span><span class="n">within</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">session</span><span class="p">.</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">REPEATABLE</span><span class="w"> </span><span class="k">READ</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">UNCOMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">ONLY</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">WRITE</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">,</span><span class="k">READ</span><span class="w"> </span><span class="k">ONLY</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">,</span><span class="k">READ</span><span class="w"> </span><span class="k">WRITE</span><span class="p">;</span>
<span class="o">##</span><span class="w"> </span><span class="k">Each</span><span class="w"> </span><span class="k">statement</span><span class="w"> </span><span class="p">(</span><span class="k">with</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="n">keyword</span><span class="p">)</span><span class="w"> </span><span class="n">applies</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">all</span><span class="w"> </span><span class="n">subsequent</span><span class="w"> </span><span class="n">transactions</span><span class="w"> </span><span class="n">performed</span><span class="w"> </span><span class="n">within</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">current</span><span class="w"> </span><span class="k">session</span><span class="p">.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">;</span>
<span class="k">commit</span><span class="w"> </span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164746_p457516432451"><strong id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164746_b1447119412469">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164746_screen6717453174515"><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>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1">-- Each statement applies only to the next single transaction performed within the session.</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">REPEATABLE</span><span class="w"> </span><span class="k">READ</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">UNCOMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">ONLY</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">WRITE</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">ONLY</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">WRITE</span><span class="p">;</span>
<span class="c1">-- Each statement (with the SESSIONkeyword) applies to all subsequent transactions performed within the current session.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">CHARACTERISTICS</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">CHARACTERISTICS</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">COMMITTED</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">CHARACTERISTICS</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">;</span>
<span class="k">SET</span><span class="w"> </span><span class="k">SESSION</span><span class="w"> </span><span class="k">CHARACTERISTICS</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="w"> </span><span class="k">ISOLATION</span><span class="w"> </span><span class="k">LEVEL</span><span class="w"> </span><span class="k">SERIALIZABLE</span><span class="p">;</span>
<span class="k">COMMIT</span><span class="w"> </span><span class="k">WORK</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_section15434175819236"><h4 class="sectiontitle">LOCK</h4><p id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_p26260385017">DSC will perform adaptation based on GaussDB(DWS) features during the migration of MySQL table locking statements which are used in transaction processing.</p>
<p id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_p154471135174511"><strong id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_b254510134614">Input</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_screen135114440503"><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>
<span class="normal">13</span>
<span class="normal">14</span></pre></div></td><td class="code"><div><pre><span></span><span class="o">##</span><span class="w"> </span><span class="n">A</span><span class="p">.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="o">`</span><span class="n">mt</span><span class="o">`</span><span class="p">.</span><span class="o">`</span><span class="n">runoob_tbl</span><span class="o">`</span><span class="w"> </span><span class="k">WRITE</span><span class="p">,</span><span class="o">`</span><span class="n">mt</span><span class="o">`</span><span class="p">.</span><span class="o">`</span><span class="n">runoob_tb2</span><span class="o">`</span><span class="w"> </span><span class="k">READ</span><span class="p">;</span>
<span class="k">commit</span><span class="p">;</span>
<span class="o">##</span><span class="w"> </span><span class="n">B</span><span class="p">.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="o">`</span><span class="n">mt</span><span class="o">`</span><span class="p">.</span><span class="o">`</span><span class="n">runoob_tbl</span><span class="o">`</span><span class="w"> </span><span class="k">WRITE</span><span class="p">;</span>
<span class="k">commit</span><span class="p">;</span>
<span class="o">##</span><span class="w"> </span><span class="k">C</span><span class="p">.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="o">`</span><span class="n">mt</span><span class="o">`</span><span class="p">.</span><span class="o">`</span><span class="n">runoob_tbl</span><span class="o">`</span><span class="w"> </span><span class="k">READ</span><span class="p">,</span><span class="o">`</span><span class="n">mt</span><span class="o">`</span><span class="p">.</span><span class="o">`</span><span class="n">runoob_tbl</span><span class="o">`</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">t1</span><span class="w"> </span><span class="k">READ</span><span class="p">;</span>
<span class="k">commit</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_p457516432451"><strong id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_b1447119412469">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001813438924__en-us_topic_0000001382367718_en-us_topic_0214164623_screen1728824719508"><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>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1">-- A.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="ss">&quot;mt&quot;</span><span class="p">.</span><span class="ss">&quot;runoob_tbl&quot;</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">ACCESS</span><span class="w"> </span><span class="k">EXCLUSIVE</span><span class="w"> </span><span class="k">MODE</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="ss">&quot;mt&quot;</span><span class="p">.</span><span class="ss">&quot;runoob_tb2&quot;</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">ACCESS</span><span class="w"> </span><span class="k">SHARE</span><span class="w"> </span><span class="k">MODE</span><span class="p">;</span>
<span class="k">COMMIT</span><span class="w"> </span><span class="k">WORK</span><span class="p">;</span>
<span class="c1">-- B.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="ss">&quot;mt&quot;</span><span class="p">.</span><span class="ss">&quot;runoob_tbl&quot;</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">ACCESS</span><span class="w"> </span><span class="k">EXCLUSIVE</span><span class="w"> </span><span class="k">MODE</span><span class="p">;</span>
<span class="k">COMMIT</span><span class="w"> </span><span class="k">WORK</span><span class="p">;</span>
<span class="c1">-- C.</span>
<span class="k">START</span><span class="w"> </span><span class="k">TRANSACTION</span><span class="p">;</span>
<span class="k">LOCK</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="ss">&quot;mt&quot;</span><span class="p">.</span><span class="ss">&quot;runoob_tbl&quot;</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">ACCESS</span><span class="w"> </span><span class="k">SHARE</span><span class="w"> </span><span class="k">MODE</span><span class="p">;</span>
<span class="k">COMMIT</span><span class="w"> </span><span class="k">WORK</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_16_0204.html">Transaction Management and Database Management</a></div>
</div>
</div>