<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aliyun on Kalend's Blog</title><link>https://blog.kalend.top/categories/aliyun/</link><description>Recent content in Aliyun on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Tue, 31 May 2022 23:31:48 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/categories/aliyun/index.xml" rel="self" type="application/rss+xml"/><item><title>Aliyun-DRDS介绍</title><link>https://blog.kalend.top/2022/05/31/aliyun-drds.html/</link><pubDate>Tue, 31 May 2022 23:31:48 +0800</pubDate><guid>https://blog.kalend.top/2022/05/31/aliyun-drds.html/</guid><description>&lt;p&gt;DRDS是aliyun商业版本的TDDL。提供分库分表，读写分离等操作。 类似于Mycat等分库分表中间件。 对应用透明&lt;/p&gt;
&lt;h2 id="产品架构"&gt;产品架构
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/117771.html" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/117771.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="基本操作"&gt;基本操作
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;创建DRDS&lt;/p&gt;
&lt;p&gt;&lt;img alt="实例列表" class="gallery-image" data-flex-basis="1023px" data-flex-grow="426" height="449" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584514443536/3%E5%88%97%E8%A1%A8.png" srcset="https://blog.kalend.top/3%E5%88%97%E8%A1%A8_5656607208186217128_hu_ed63e6b419af7f92.png 800w, https://blog.kalend.top/3%E5%88%97%E8%A1%A8_5656607208186217128_hu_531ffe623eefb2f9.png 1600w, http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584514443536/3%E5%88%97%E8%A1%A8.png 1914w" width="1914"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="实例基本信息" class="gallery-image" data-flex-basis="534px" data-flex-grow="222" height="861" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584514631589/4.%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF.jpg" srcset="https://blog.kalend.top/4.%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF_4505691570774506733_hu_a02f1de233c746c7.jpg 800w, https://blog.kalend.top/4.%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF_4505691570774506733_hu_5e7440ad7bee33b.jpg 1600w, http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584514631589/4.%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF.jpg 1919w" width="1919"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建数据库&lt;/p&gt;
&lt;p&gt;&lt;img alt="建库" class="gallery-image" data-flex-basis="663px" data-flex-grow="276" height="690" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584522696691/DB1.jpg" srcset="https://blog.kalend.top/DB1_17203423312254618499_hu_922c2fc031f490a5.jpg 800w, https://blog.kalend.top/DB1_17203423312254618499_hu_b78a829c185b4dbc.jpg 1600w, http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584522696691/DB1.jpg 1908w" width="1908"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;挂载RDS实例（DRDS私有实例或者单独购买RDS挂载）&lt;/p&gt;
&lt;p&gt;&lt;img alt="新购RDS建库" class="gallery-image" data-flex-basis="364px" data-flex-grow="151" height="776" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584514727998/2.%E5%BB%BA%E5%BA%93.jpg" srcset="https://blog.kalend.top/2.%E5%BB%BA%E5%BA%93_11921172519012973694_hu_d324a5a868867a03.jpg 800w, http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/117762/cn_zh/1584514727998/2.%E5%BB%BA%E5%BA%93.jpg 1178w" width="1178"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="drds-扩展性原理"&gt;DRDS 扩展性原理
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/118010.html" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/118010.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="drds全局二级索引"&gt;DRDS全局二级索引
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/142733.html" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/142733.html&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="全局二级索引使用"&gt;全局二级索引使用
&lt;/h3&gt;&lt;p&gt;DRDS 对 MySQL DDL 语法进行了扩展，增加定义 GSI 的语法。使用方式与在 MySQL 上创建索引一致：&lt;/p&gt;
&lt;p&gt;创建二级索引：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;建表时定义&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;GSI&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;t_order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;bigint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NOT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;AUTO_INCREMENT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;buyer_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;seller_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_snapshot&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;longtext&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_detail&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;longtext&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;PRIMARY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GLOBAL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;INDEX&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;g_i_seller&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;seller_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COVERING&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;buyer_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_snapshot&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbpartition&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;seller_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ENGINE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;InnoDB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CHARSET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;utf8&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbpartition&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;添加&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;GSI&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;UNIQUE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;GLOBAL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;INDEX&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;g_i_buyer&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;t_order&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;buyer_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;COVERING&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;seller_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;order_snapshot&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dbpartition&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;buyer_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbpartition&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="n"&gt;buyer_id&lt;/span&gt;&lt;span class="o"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tbpartitions&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="drds自定义语句"&gt;DRDS自定义语句
&lt;/h2&gt;&lt;p&gt;DRDS自定义一些特有的语句，用于 帮助用户方便使用DRDS&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/29678.html" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/29678.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="sequence介绍"&gt;Sequence介绍
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/71261.html?spm=a2c4g.11186623.6.700.6e221ce8j2oPCj" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/71261.html?spm=a2c4g.11186623.6.700.6e221ce8j2oPCj&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="使用场景"&gt;使用场景
&lt;/h2&gt;&lt;p&gt;这几种 Sequence 都保证全局唯一，均可以应用在&lt;strong&gt;主键列&lt;/strong&gt;和&lt;strong&gt;唯一索引列&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大部分场景下建议选用 &lt;strong&gt;Group Sequence&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;如果有跨实例或跨库分配全局唯一数字序列的需求，可以选用&lt;strong&gt;单元化 Group Sequence&lt;/strong&gt;；&lt;/li&gt;
&lt;li&gt;如果业务上能接受整体趋势上的宏观自增，不介意微观上的不保证自增，且不想依赖数据库的分配机制，则 Time-based Sequence 可能是合适的选择；&lt;/li&gt;
&lt;li&gt;如果业务强依赖连续的 Sequence 值，此时只能使用 Simple Sequence（注意 Simple Sequence 的性能问题）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以创建一个起始值是 100000，步长为 1 的 Sequence 为例。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果采用 &lt;strong&gt;Simple Sequence&lt;/strong&gt;，则会严格产生&lt;code&gt;100000、100001、100002、100003、100004、.....、200000、200001、200002、200003、......&lt;/code&gt;这样的序列（全局唯一、连续、单调递增）。Simple Sequence 会保证持久化，即使发生单点问题，服务重启后依然会在断点继续产生 Sequence 值，中间不会产生跳跃段。Simple Sequence 的机理是每产生一个值都要进行一次持久化操作，因此性能并不是很好。&lt;/li&gt;
&lt;li&gt;如果采用 &lt;strong&gt;Group Sequence&lt;/strong&gt; 或 &lt;strong&gt;单元化 Group Sequence&lt;/strong&gt;，产生的序列有可能是&lt;code&gt;200001、200002、200003、200004、100001、100002、100003、......&lt;/code&gt;这样的序列。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Group Sequence 起始值并不会严格从设定的参数（本例中是100000）开始，但保证比该参数大。本例中是从 200001 开始取值的。&lt;/li&gt;
&lt;li&gt;Group Sequence 保证全局唯一，但是会有跳跃段。比如 Group Sequence 的某个节点失效，或者某个连接只取了一部分值，然后该连接被关闭了，都会产生跳跃段。该例中 200004 和 100001 之间产生了跳跃段。&lt;/li&gt;
&lt;li&gt;单元化 Group Sequence 跨实例或跨库的全局唯一性，必须通过指定相同的单元数量和不同的单元索引来保证。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="广播表"&gt;广播表
&lt;/h2&gt;&lt;p&gt;子句&lt;code&gt;BROADCAST&lt;/code&gt;用来指定创建广播表。广播表是指将这个表复制到每个分库上，在分库上通过同步机制实现数据一致，有秒级延迟。这样做的好处是可以将 JOIN 操作下推到底层的 RDS（MySQL)，来避免跨库 JOIN。&lt;a class="link" href="https://help.aliyun.com/document_detail/50845.html" target="_blank" rel="noopener"
 &gt;SQL 优化方法&lt;/a&gt; 详细讲述了如何使用广播表来做 SQL 优化。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TABLE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;brd_tbl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;varchar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;primary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;key&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ENGINE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;InnoDB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;DEFAULT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;CHARSET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;utf8&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;BROADCAST&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="sql优化"&gt;SQL优化
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/144294.html?spm=a2c4g.11186623.6.665.2e196f96JbVRjV" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/144294.html?spm=a2c4g.11186623.6.665.2e196f96JbVRjV&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="hint"&gt;Hint
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*+TDDL:CMD_EXTRA(INSERT_SELECT_LIMIT=3000000)*/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*+TDDL:CMD_EXTRA(MAX_UPDATE_NUM_IN_GSI=100000)*/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*+TDDL:socket_timeout=xxx*/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;不关心对查询性能的影响可以使用&lt;/span&gt;&lt;span class="n"&gt;hint更改限速&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*+TDDL:cmd_extra(ENABLE_ASYNC_DDL=true, PURE_ASYNC_DDL_MODE=true,GSI_BACKFILL_SPEED_LIMITATION=50000,GSI_CHECK_SPEED_LIMITATION=50000)*/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;绕过&lt;/span&gt;&lt;span class="n"&gt;GSI的主表的主键必须是自增校验&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cm"&gt;/*+TDDL: cmd_extra(GSI_IGNORE_RESTRICTION=true)*/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;a class="link" href="https://help.aliyun.com/document_detail/71270.html?spm=a2c4g.11186623.6.735.628d5f76NiqCTU" target="_blank" rel="noopener"
 &gt;https://help.aliyun.com/document_detail/71270.html?spm=a2c4g.11186623.6.735.628d5f76NiqCTU&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="image-20200326215345433" class="gallery-image" data-flex-basis="426px" data-flex-grow="177" height="582" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103134.png" srcset="https://blog.kalend.top/20200819103134_5536823969641431498_hu_28723a45e9b285dd.png 800w, https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103134.png 1035w" width="1035"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20200326215444189" class="gallery-image" data-flex-basis="426px" data-flex-grow="177" height="668" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103304.png" srcset="https://blog.kalend.top/20200819103304_13127624729693812156_hu_fa37bd19f6a4d199.png 800w, https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103304.png 1187w" width="1187"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20200326215457961" class="gallery-image" data-flex-basis="424px" data-flex-grow="176" height="675" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103254.png" srcset="https://blog.kalend.top/20200819103254_8179882932976040606_hu_902a780f1f5444a4.png 800w, https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103254.png 1194w" width="1194"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20200326215405849" class="gallery-image" data-flex-basis="435px" data-flex-grow="181" height="670" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103238.png" srcset="https://blog.kalend.top/20200819103238_17367538117218202413_hu_858582788e701840.png 800w, https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103238.png 1216w" width="1216"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image-20200326215511136" class="gallery-image" data-flex-basis="422px" data-flex-grow="176" height="596" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103119.png" srcset="https://blog.kalend.top/20200819103119_13811896921618928944_hu_e4c8c6fa3139c72b.png 800w, https://cdn.jsdelivr.net/gh/zomin/image-repo/img/20200819103119.png 1050w" width="1050"&gt;&lt;/p&gt;</description></item></channel></rss>