blob: 7b79806305e423dc224343ee17d2bb46e35c5c7c [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="Hugo 0.70.0" />
<meta name="description" content="">
<meta name="buildDate" content="2022-08-12 13:01:15">
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />
<title>Rewrite Engine :: ShardingSphere</title>
<link href="https://shardingsphere.apache.org/document/current/css/nucleus.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/font-awesome.min.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/hybrid.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/featherlight.min.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/perfect-scrollbar.min.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/auto-complete.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/theme.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/hugo-theme.css?1660280475" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/theme-white.css?1660280475" rel="stylesheet">
<script src="https://shardingsphere.apache.org/document/current/js/jquery-2.x.min.js?1660280475"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?d5a1dc8dcf63a64ee55b80de01c7fb1a";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-HETCF66YL0"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-HETCF66YL0');
</script>
<style type="text/css">
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
</style>
</head>
<body class="" data-url="/en/reference/sharding/rewrite/">
<div class="change-theme">
<div class="wrap">
<span data-item="retro">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Retro
</span>
<span data-item="eyehelp">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Eye care
</span>
<span data-item="haitian">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Haitian
</span>
<span data-item="deep">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Deep
</span>
<span data-item="dark">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Dark
</span>
<span class="active">
<svg t="1649761460834" class="icon" viewBox="0 0 1243 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2052" width="16" height="16"><path d="M755.093336 61.436797a511.973304 511.973304 0 1 0 207.495466 693.650688l-99.615377-53.757197a398.827204 398.827204 0 1 1-161.637286-540.351253l53.757197-99.615378z" fill="#ffffff" p-id="2053"></path><path d="M1204.971593 188.84501L534.652259 736.217612l-285.242269-364.086159 86.304071-67.653615 216.199012 275.953611 583.649567-476.574007 69.335813 84.987568z" fill="#ffffff" p-id="2054"></path></svg>
Default
</span>
</div>
</div>
<header>
<div class="wrap">
<a href="https://shardingsphere.apache.org/"><img src="https://shardingsphere.apache.org/document/current/img/logo_v3.png" /></a>
<section id="prefooter">
<ul>
<li>
<a class="padding">
<i class="fa fa-fw fa-language"></i>
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="en" value="/document/current/en/reference/sharding/rewrite/" selected>English</option>
<option id="cn" value="/document/current/cn/reference/sharding/rewrite/">简体中文</option>
</select>
<svg t="1645437162166" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2449" width="32" height="32"><path d="M483.072 714.496l30.165333 30.208 415.957334-415.829333a42.837333 42.837333 0 0 0 0-60.288 42.538667 42.538667 0 0 0-60.330667-0.042667l-355.541333 355.413333-355.242667-355.413333a42.496 42.496 0 0 0-60.288 0 42.837333 42.837333 0 0 0-0.085333 60.330667l383.701333 383.872 1.706667 1.749333z" fill="#3D3D3D" p-id="2450"></path></svg>
</div>
</a>
</li>
</ul>
</section>
</div>
</header>
<div class="wrap">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div class="searchbox">
<label for="search-by"><i class="fa fa-search"></i></label>
<input data-search-input id="search-by" type="text" placeholder="Search...">
<span data-search-clear=""><i class="fa fa-close"></i></span>
</div>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/lunr.min.js?1660280475"></script>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/auto-complete.js?1660280475"></script>
<script type="text/javascript">
var baseurl = "\/en";
</script>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/search.js?1660280475"></script>
</div>
<div class="highlightable">
<div class="leftMenu">
<ul class="topics">
<li data-nav-id="/en/overview/" title="Overview" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/overview/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>1. </b>Overview
</a>
<ul>
<li data-nav-id="/en/overview/intro/" title="What is ShardingSphere" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/overview/intro/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>1.1 </b>What is ShardingSphere
</a>
</li>
<li data-nav-id="/en/overview/design/" title="Design Philosophy" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/overview/design/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>1.2 </b>Design Philosophy
</a>
</li>
<li data-nav-id="/en/overview/deployment/" title="Deployment" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/overview/deployment/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>1.3 </b>Deployment
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/quick-start/" title="Quick Start" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/quick-start/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>2. </b>Quick Start
</a>
<ul>
<li data-nav-id="/en/quick-start/shardingsphere-jdbc-quick-start/" title="ShardingSphere-JDBC" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>2.1. </b>ShardingSphere-JDBC
</a>
</li>
<li data-nav-id="/en/quick-start/shardingsphere-proxy-quick-start/" title="ShardingSphere-Proxy" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>2.2. </b>ShardingSphere-Proxy
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/" title="Features" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3. </b>Features
</a>
<ul>
<li data-nav-id="/en/features/sharding/" title="Sharding" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/sharding/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.1. </b>Sharding
</a>
<ul>
<li data-nav-id="/en/features/sharding/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/sharding/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/sharding/limitation/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/sharding/limitation/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
<li data-nav-id="/en/features/sharding/appendix/" title="Appendix with SQL operator" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/sharding/appendix/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Appendix with SQL operator
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/transaction/" title="Distributed Transaction" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/transaction/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.2. </b>Distributed Transaction
</a>
<ul>
<li data-nav-id="/en/features/transaction/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/transaction/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/transaction/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/transaction/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/readwrite-splitting/" title="Readwrite-splitting" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.3. </b>Readwrite-splitting
</a>
<ul>
<li data-nav-id="/en/features/readwrite-splitting/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/readwrite-splitting/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/ha/" title="HA" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/ha/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.4. </b>HA
</a>
<ul>
<li data-nav-id="/en/features/ha/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/ha/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/ha/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/ha/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/db-gateway/" title="DB Gateway" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/db-gateway/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.5. </b>DB Gateway
</a>
<ul>
<li data-nav-id="/en/features/db-gateway/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/db-gateway/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/db-gateway/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/db-gateway/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/management/" title="Traffic Governance" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/management/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.6. </b>Traffic Governance
</a>
<ul>
<li data-nav-id="/en/features/management/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/management/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/scaling/" title="Data Migration" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/scaling/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.7. </b>Data Migration
</a>
<ul>
<li data-nav-id="/en/features/scaling/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/scaling/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/scaling/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/scaling/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/encrypt/" title="Encryption" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/encrypt/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.8. </b>Encryption
</a>
<ul>
<li data-nav-id="/en/features/encrypt/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/encrypt/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/encrypt/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/shadow/" title="Shadow" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/shadow/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.9. </b>Shadow
</a>
<ul>
<li data-nav-id="/en/features/shadow/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/shadow/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
<li data-nav-id="/en/features/shadow/limitations/" title="Limitations" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/shadow/limitations/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Limitations
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/features/observability/" title="Observability" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/features/observability/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>3.10. </b>Observability
</a>
<ul>
<li data-nav-id="/en/features/observability/concept/" title="Core Concept" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/features/observability/concept/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Core Concept
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/" title="User Manual" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4. </b>User Manual
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/" title="ShardingSphere-JDBC" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.1. </b>ShardingSphere-JDBC
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/" title="Java API" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Java API
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/mode/" title="Mode" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/mode/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mode
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/data-source/" title="Data Source" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/data-source/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Data Source
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/" title="Rules" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rules
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/" title="Readwrite-splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite-splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/" title="Distributed Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Distributed Transaction
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/" title="HA" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
HA
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/" title="Encryption" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encryption
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/" title="Shadow DB" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow DB
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/" title="SQL Parser" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Parser
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/" title="SQL Translator" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Translator
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/" title="Mixed Rules" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mixed Rules
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/" title="YAML Configuration" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
YAML Configuration
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/mode/" title="Mode" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/mode/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mode
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/" title="Data Source" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Data Source
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/" title="Rules" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rules
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/" title="Readwrite-splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite-splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/" title="Distributed Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Distributed Transaction
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/" title="HA" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
HA
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/" title="Encryption" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encryption
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/" title="Shadow DB" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow DB
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/" title="SQL-parser" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL-parser
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/" title="SQL Translator" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Translator
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/" title="Mixed Rules" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mixed Rules
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/jdbc-driver/" title="JDBC Driver" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/jdbc-driver/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
JDBC Driver
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/" title="Spring Boot Starter" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Spring Boot Starter
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/mode/" title="Mode" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/mode/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mode
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/data-source/" title="Data Source" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/data-source/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Data Source
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/" title="Rules" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rules
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sharding/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting/" title="Readwrite splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/" title="HA" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
HA
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/encrypt/" title="Encryption" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encryption
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/shadow/" title="Shadow DB" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow DB
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sql-parser/" title="SQL Parser" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sql-parser/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Parser
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/mix/" title="Mixed Rules" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/mix/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mixed Rules
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/" title="Spring Namespace" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Spring Namespace
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/mode/" title="Mode" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/mode/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mode
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/data-source/" title="Data Source" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/data-source/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Data Source
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/" title="Rules" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rules
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sharding/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting/" title="Readwrite-splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite-splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/" title="HA" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
HA
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/encrypt/" title="Encryption" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encryption
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/shadow/" title="Shadow DB" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow DB
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sql-parser/" title="SQL Parser" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sql-parser/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Parser
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/mix/" title="Mixed Rules" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/mix/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Mixed Rules
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/props/" title="Properties Configuration" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/props/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Properties Configuration
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/" title="Builtin Algorithm" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Builtin Algorithm
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/metadata-repository/" title="Metadata Repository" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/metadata-repository/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Metadata Repository
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sharding/" title="Sharding Algorithm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding Algorithm
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/" title="Key Generate Algorithm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Key Generate Algorithm
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance/" title="Load Balance Algorithm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Load Balance Algorithm
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/encrypt/" title="Encryption Algorithm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encryption Algorithm
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/shadow/" title="Shadow Algorithm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow Algorithm
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sql-translator/" title="SQL Translator" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sql-translator/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Translator
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/" title="Special API" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Special API
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/sharding/" title="Sharding" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/sharding/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Sharding
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/" title="Hint" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Hint
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/" title="Readwrite Splitting" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Readwrite Splitting
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/" title="Hint" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Hint
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/" title="Transaction" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Transaction
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/" title="Use Java API" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Java API
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-boot-starter/" title="Use Spring Boot Starter" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-boot-starter/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Boot Starter
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-namespace/" title="Use Spring Namespace" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-namespace/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Spring Namespace
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/" title="Atomikos Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Atomikos Transaction
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/" title="Bitronix Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Bitronix Transaction
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/" title="Narayana Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Narayana Transaction
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/" title="Seata Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Seata Transaction
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-jdbc/unsupported/" title="Unsupported Items" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Unsupported Items
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/" title="ShardingSphere-Proxy" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>4.2. </b>ShardingSphere-Proxy
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/startup/" title="Startup" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Startup
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/startup/bin/" title="Use Binary Tar" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/bin/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Binary Tar
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/startup/docker/" title="Use Docker" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/docker/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Docker
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/startup/helm/" title="Use Helm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/helm/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Use Helm
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/yaml-config/" title="Yaml Configuration" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Yaml Configuration
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/yaml-config/authentication/" title="Authorization" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/authentication/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Authorization
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/yaml-config/props/" title="Properties" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/props/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Properties
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/yaml-config/rules/" title="Rules" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/rules/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Rules
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/" title="DistSQL" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
DistSQL
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/" title="Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Syntax
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/" title="RDL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
RDL Syntax
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/" title="Resource Definition" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Resource Definition
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/" title="Rule Definition" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rule Definition
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/" title="Single Table" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Single Table
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/" title="Readwrite-Splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite-Splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/db-discovery/" title="DB Discovery" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/db-discovery/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
DB Discovery
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/" title="Encrypt" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encrypt
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/" title="Shadow" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/" title="RQL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
RQL Syntax
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/resource-query/" title="Resource Query" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/resource-query/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Resource Query
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/" title="Rule Query" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rule Query
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/" title="Single Table" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Single Table
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/" title="Readwrite-Splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite-Splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/db-discovery/" title="DB Discovery" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/db-discovery/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
DB Discovery
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/" title="Encrypt" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encrypt
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/" title="Shadow" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/" title="RAL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/ral/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
RAL Syntax
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/" title="RUL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rul/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
RUL Syntax
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/usage/" title="Usage" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Usage
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/" title="Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Sharding
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/" title="Readwrite_splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Readwrite_splitting
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/" title="Encrypt" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Encrypt
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/usage/db-discovery/" title="DB Discovery" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/db-discovery/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
DB Discovery
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/" title="Shadow" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Shadow
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/scaling/" title="Scaling" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Scaling
</a>
<ul>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/scaling/build/" title="Build" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/build/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Build
</a>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/scaling/usage/" title="Manual" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/usage/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Manual
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/user-manual/shardingsphere-proxy/observability/" title="Observability" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/observability/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
Observability
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/dev-manual/" title="Dev Manual" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>5. </b>Dev Manual
</a>
<ul>
<li data-nav-id="/en/dev-manual/mode/" title="Mode" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/mode/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.1. </b>Mode
</a>
</li>
<li data-nav-id="/en/dev-manual/configuration/" title="Configuration" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.2. </b>Configuration
</a>
</li>
<li data-nav-id="/en/dev-manual/kernel/" title="Kernel" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.3. </b>Kernel
</a>
</li>
<li data-nav-id="/en/dev-manual/data-source/" title="DataSource" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/data-source/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.4. </b>DataSource
</a>
</li>
<li data-nav-id="/en/dev-manual/sql-parser/" title="SQL Parser" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.5. </b>SQL Parser
</a>
</li>
<li data-nav-id="/en/dev-manual/proxy/" title="Proxy" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.6. </b>Proxy
</a>
</li>
<li data-nav-id="/en/dev-manual/sharding/" title="Data Sharding" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.7. </b>Data Sharding
</a>
</li>
<li data-nav-id="/en/dev-manual/readwrite-splitting/" title="Readwrite-splitting" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/readwrite-splitting/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.8. </b>Readwrite-splitting
</a>
</li>
<li data-nav-id="/en/dev-manual/ha/" title="HA" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/ha/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.9. </b>HA
</a>
</li>
<li data-nav-id="/en/dev-manual/transaction/" title="Distributed Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.10. </b>Distributed Transaction
</a>
</li>
<li data-nav-id="/en/dev-manual/sql-check/" title="SQL Checker" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/sql-check/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.11. </b>SQL Checker
</a>
</li>
<li data-nav-id="/en/dev-manual/encrypt/" title="Encryption" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/encrypt/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.12. </b>Encryption
</a>
</li>
<li data-nav-id="/en/dev-manual/shadow/" title="Shadow DB" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/shadow/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.13. </b>Shadow DB
</a>
</li>
<li data-nav-id="/en/dev-manual/agent/" title="Observability" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/dev-manual/agent/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
<b>5.14. </b>Observability
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/test-manual/" title="Test Manual" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>6. </b>Test Manual
</a>
<ul>
<li data-nav-id="/en/test-manual/integration-test/" title="Integration Test" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/integration-test/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>6.1. </b>Integration Test
</a>
</li>
<li data-nav-id="/en/test-manual/performance-test/" title="Performance Test" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>6.2. </b>Performance Test
</a>
<ul>
<li data-nav-id="/en/test-manual/performance-test/sysbench-proxy-norules-test/" title="SysBench ShardingSphere-Proxy Empty Rule Performance Test" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/sysbench-proxy-norules-test/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SysBench ShardingSphere-Proxy Empty Rule Performance Test
</a>
</li>
<li data-nav-id="/en/test-manual/performance-test/benchmarksql-proxy-sharding-test/" title="BenchmarkSQL ShardingSphere-Proxy Sharding Performance Test" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/benchmarksql-proxy-sharding-test/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
BenchmarkSQL ShardingSphere-Proxy Sharding Performance Test
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/test-manual/module-test/" title="Module Test" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/module-test/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>6.3. </b>Module Test
</a>
<ul>
<li data-nav-id="/en/test-manual/module-test/parser-test/" title="SQL Parser Test" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/module-test/parser-test/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Parser Test
</a>
</li>
<li data-nav-id="/en/test-manual/module-test/rewrite-test/" title="SQL Rewrite Test" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/module-test/rewrite-test/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SQL Rewrite Test
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/test-manual/scaling-integration-test/" title="Scaling Integration Test" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/test-manual/scaling-integration-test/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>6.4. </b>Scaling Integration Test
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/" title="Reference" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>7. </b>Reference
</a>
<ul>
<li data-nav-id="/en/reference/db-compatibility/" title="Database Compatibility" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/db-compatibility/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.1. </b>Database Compatibility
</a>
</li>
<li data-nav-id="/en/reference/gateway/" title="Database Gateway" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/gateway/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.2. </b>Database Gateway
</a>
</li>
<li data-nav-id="/en/reference/management/" title="Management" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/management/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.3. </b>Management
</a>
</li>
<li data-nav-id="/en/reference/sharding/" title="Sharding" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/sharding/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>7.4. </b>Sharding
</a>
<ul>
<li data-nav-id="/en/reference/sharding/parse/" title="Parse Engine" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Parse Engine
</a>
</li>
<li data-nav-id="/en/reference/sharding/route/" title="Route Engine" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/sharding/route/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Route Engine
</a>
</li>
<li data-nav-id="/en/reference/sharding/rewrite/" title="Rewrite Engine" class="dd-item active">
<a href="https://shardingsphere.apache.org/document/current/en/reference/sharding/rewrite/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Rewrite Engine
</a>
</li>
<li data-nav-id="/en/reference/sharding/execute/" title="Execute Engine" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/sharding/execute/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Execute Engine
</a>
</li>
<li data-nav-id="/en/reference/sharding/merge/" title="Merger Engine" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/sharding/merge/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Merger Engine
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/transaction/" title="Transaction" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/transaction/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>7.5. </b>Transaction
</a>
<ul>
<li data-nav-id="/en/reference/transaction/2pc-xa-transaction/" title="XA Transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/transaction/2pc-xa-transaction/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
XA Transaction
</a>
</li>
<li data-nav-id="/en/reference/transaction/base-transaction-seata/" title="Seata BASE transaction" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/transaction/base-transaction-seata/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Seata BASE transaction
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/scaling/" title="Data Migration" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/scaling/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.6. </b>Data Migration
</a>
</li>
<li data-nav-id="/en/reference/encrypt/" title="Encryption" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/encrypt/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.7. </b>Encryption
</a>
</li>
<li data-nav-id="/en/reference/shadow/" title="Shadow" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/shadow/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.8. </b>Shadow
</a>
</li>
<li data-nav-id="/en/reference/observability/" title="Oberservability" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/observability/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.9. </b>Oberservability
</a>
</li>
<li data-nav-id="/en/reference/distsql/" title="DistSQL" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
<b>7.10. </b>DistSQL
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/" title="Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Syntax
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rdl/" title="RDL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
RDL Syntax
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rdl/resource-definition/" title="Resource Definition" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Resource Definition
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rdl/resource-definition/add-resource/" title="ADD RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/add-resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ADD RESOURCE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/resource-definition/alter-resource/" title="ALTER RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/alter-resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ALTER RESOURCE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/resource-definition/drop-resource/" title="DROP RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/drop-resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
DROP RESOURCE
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/" title="Rule Definition" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rule Definition
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/" title="Sharding" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Sharding
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule/" title="CREATE SHARDING TABLE RULE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE SHARDING TABLE RULE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule/" title="ALTER SHARDING TABLE RULE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
ALTER SHARDING TABLE RULE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm/" title="CREATE SHARDING ALGORITHM" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE SHARDING ALGORITHM
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy/" title="CREATE DEFAULT SHARDING STRATEGY" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE DEFAULT SHARDING STRATEGY
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule/" title="CREATE SHARDING BINDING TABLE RULE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE SHARDING BINDING TABLE RULE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-broadcast-table-rule/" title="CREATE SHARDING BROADCAST TABLE RULE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-broadcast-table-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE SHARDING BROADCAST TABLE RULE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator/" title="CREATE SHARDING KEY GENERATOR" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE SHARDING KEY GENERATOR
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/single-table/" title="Single Table" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/single-table/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Single Table
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule/" title="CREATE DEFAULT SINGLE TABLE RULE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
CREATE DEFAULT SINGLE TABLE RULE
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rql/" title="RQL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
RQL Syntax
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rql/resource-query/" title="Resource Query" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Resource Query
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rql/resource-query/show-resource/" title="SHOW RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SHOW RESOURCE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rql/resource-query/show-unused-resource/" title="SHOW UNUSED RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-unused-resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SHOW UNUSED RESOURCE
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rql/resource-query/show-rules-used-resource/" title="SHOW RULES USED RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-rules-used-resource/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SHOW RULES USED RESOURCE
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/distsql/syntax/rql/rule-query/" title="Rule Query" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/rule-query/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Rule Query
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rql/rule-query/sharding/" title="Sharding" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/rule-query/sharding/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg class="icon icon-down"
style="display: none;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" p-id="5376" ></path>
</svg>
<svg class="icon icon-right"
style="display: inline-block;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#777">
<path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" p-id="5605" ></path>
</svg>
</i>
Sharding
</a>
<ul>
<li data-nav-id="/en/reference/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule/" title="SHOW SHARDING TABLE RULE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
SHOW SHARDING TABLE RULE
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/distsql/syntax/ral/" title="RAL Syntax" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/ral/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
RAL Syntax
</a>
</li>
<li data-nav-id="/en/reference/distsql/syntax/reserved-word/" title="Reserved word" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/reserved-word/">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
Reserved word
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/en/reference/architecture/" title="Architecture" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/reference/architecture/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>7.11. </b>Architecture
</a>
</li>
</ul>
</li>
<li data-nav-id="/en/faq/" title="FAQ" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/faq/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>8. </b>FAQ
</a>
</li>
<li data-nav-id="/en/downloads/" title="Downloads" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/en/downloads/">
<i class="collapse" style="display:inline; font-family:'courier';">
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5375" width="20" height="20"></svg>
</i>
<b>9. </b>Downloads
</a>
</li>
</ul>
</div>
<a class="padding" href="https://shardingsphere.apache.org/pdf/shardingsphere_docs_en.pdf">
Download PDF
</a>
<section id="footer">
<p></p>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="padding highlightable">
<div>
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" title='Edit this page' href="https://github.com/apache/shardingsphere/tree/master/docs/document/content/reference/sharding/rewrite.en.md" target="blank">
<i class="fa fa-code-fork"></i>
<span id="top-github-link-text">Edit this page</span>
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fa fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fa fa-list-alt"></i></span>
<span class="links">
<a href='https://shardingsphere.apache.org/document/current/en/'>ShardingSphere</a> > <a href='https://shardingsphere.apache.org/document/current/en/reference/'>Reference</a> > <a href='https://shardingsphere.apache.org/document/current/en/reference/sharding/'>Sharding</a> > Rewrite Engine
</span>
</div>
</div>
</div>
<div id="body-inner">
<h1>Rewrite Engine</h1>
<nav id="TableOfContents">
<ul>
<li><a href="#rewriting-for-correctness">Rewriting for Correctness</a></li>
<li><a href="#identifier-rewriting">Identifier Rewriting</a></li>
<li><a href="#column-derivation">Column Derivation</a></li>
<li><a href="#pagination-correction">Pagination Correction</a></li>
<li><a href="#batch-split">Batch Split</a></li>
<li><a href="#rewriting-for-optimization">Rewriting for Optimization</a>
<ul>
<li><a href="#single-node-optimization">Single Node Optimization</a></li>
<li><a href="#stream-merger-optimization">Stream Merger Optimization</a></li>
</ul>
</li>
</ul>
</nav>
<p>SQL written by engineers for logical databases and tables cannot be directly executed in real databases.</p>
<p>SQL rewriting is used to rewrite logical SQL into SQL that can be executed correctly in real databases. It includes rewriting for correctness and rewriting for optimization.</p>
<h2 id="rewriting-for-correctness">Rewriting for Correctness</h2>
<p>In a scenario with table shards, you need to rewrite the logical table name in the table shards configuration to the real table name obtained after routing.</p>
<p>Only database shards do not require rewriting table names. Additionally, it also includes column derivation and pagination information correction.</p>
<h2 id="identifier-rewriting">Identifier Rewriting</h2>
<p>The identifiers that need to be overwritten include table names, index names, and Schema names.</p>
<p>Rewriting table names is the process of finding the location of the logical table in the original SQL and rewriting it into a real table.</p>
<p>Table name rewriting is a typical scenario that requires SQL parsing. For example, if logical SQL is:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>;
</code></pre></div><p>Assume that the SQL is configured with the shard key <code>order_id</code> and <code>order_id=1</code>, it will be routed to shard table 1. Then the rewritten SQL should be:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>;
</code></pre></div><p>In the simplest SQL scenario, it doesn&rsquo;t seem to matter whether or not the SQL is parsed into an abstract syntax tree.</p>
<p>SQL can be rewritten correctly only by finding and replacing strings. However, it is impossible to achieve the same effect in the following scenarios.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order xxx&#39;</span>;
</code></pre></div><p>The correct rewritten SQL would be:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order xxx&#39;</span>;
</code></pre></div><p>Instead of:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order_1 xxx&#39;</span>;
</code></pre></div><p>Because there may be characters similar to the table name, you cannot rewrite SQL simply by replacing strings.</p>
<p>Let&rsquo;s look at a more complex scenario:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> t_order.order_id <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">WHERE</span> t_order.order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order xxx&#39;</span>;
</code></pre></div><p>The above SQL uses the table name as an identifier of the field, so it needs to be modified when SQL is rewritten:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> t_order_1.order_id <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">WHERE</span> t_order_1.order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order xxx&#39;</span>;
</code></pre></div><p>If a table alias is defined in SQL, the alias does not need to be modified, even if it is the same as the table name. For example:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> t_order.order_id <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">AS</span> t_order <span style="color:#66d9ef">WHERE</span> t_order.order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order xxx&#39;</span>;
</code></pre></div><p>Rewriting the table name is enough for SQL rewriting.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> t_order.order_id <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">AS</span> t_order <span style="color:#66d9ef">WHERE</span> t_order.order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> <span style="color:#66d9ef">AND</span> remarks<span style="color:#f92672">=</span><span style="color:#e6db74">&#39; t_order xxx&#39;</span>;
</code></pre></div><p>The index name is another identifier that can be rewritten. In some databases (such as MySQL and SQLServer), indexes are created in the dimension of tables.</p>
<p>Indexes in different tables can have the same name. In other databases (such as PostgreSQL and Oracle), indexes are created in the dimension of databases, and even indexes on different tables should have unique names.</p>
<p>In ShardingSphere, schemas are managed in the same way as tables. Logical Schemas are used to manage a set of data sources.</p>
<p>Therefore, ShardingSphere needs to replace the logical Schema written by the user in SQL with the real database Schema.</p>
<p>Currently, ShardingSphere does not support the use of Schema in DQL and DML statements. It only supports the use of Schema in database management statements. For example:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SHOW</span> COLUMNS <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">FROM</span> order_ds;
</code></pre></div><p>Schema rewriting refers to the rewriting of a logical Schema using unicast routing to a correct and real Schema that is randomly found.</p>
<h2 id="column-derivation">Column Derivation</h2>
<p>There are two cases that need to complement columns in a query statement. In the first case, ShardingSphere needs to get the data during the result merge, but the data is not returned by the queried SQL.</p>
<p>In this case, it mainly applies to GROUP BY and ORDER BY. When merging the results, you need to group and order the field items according to <code>GROUP BY</code> and <code>ORDER BY</code>, but if the original SQL does not contain grouping or ordering items in the selections, you need to rewrite the original SQL. Let&rsquo;s look at a scenario where the original SQL has the required information for result merge.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id, user_id <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> user_id;
</code></pre></div><p>Since <code>user_id</code> is used for sorting, the data of <code>user_id</code> needs to be retrieved in the result merge. And the above SQL can obtain the data of <code>user_id</code>, so there is no need to add columns.</p>
<p>If the selection does not contain the columns required to merge the results, you need to fill the columns, as in the following SQL:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> user_id;
</code></pre></div><p>Since the original SQL does not contain the <code>user_id</code> required in the result merge, you need to fill in and rewrite the SQL. Then SQL would be:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> order_id, user_id <span style="color:#66d9ef">AS</span> ORDER_BY_DERIVED_0 <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> user_id;
</code></pre></div><p>It should be noted that only missing columns are complemented instead of all columns. And SQL that contains * in the SELECT statement will also selectively complement columns based on the metadata information of the table. Here is a relatively complex column derivation scenario of SQL:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> o.<span style="color:#f92672">*</span> <span style="color:#66d9ef">FROM</span> t_order o, t_order_item i <span style="color:#66d9ef">WHERE</span> o.order_id<span style="color:#f92672">=</span>i.order_id <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> user_id, order_item_id;
</code></pre></div><p>We assume that only the table <code>t_order_item</code> contains the column <code>order_item_id</code>. According to the metadata information of the table, when the result is merged, the <code>user_id</code> in the ordering items exists on the table <code>t_order</code>, so there is no need to add columns. <code>order_item_id</code> is not in <code>t_order</code>, so column derivation is required. Then SQL would become:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> o.<span style="color:#f92672">*</span>, order_item_id <span style="color:#66d9ef">AS</span> ORDER_BY_DERIVED_0 <span style="color:#66d9ef">FROM</span> t_order o, t_order_item i <span style="color:#66d9ef">WHERE</span> o.order_id<span style="color:#f92672">=</span>i.order_id <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> user_id, order_item_id;
</code></pre></div><p>The second case of column derivation is the use of AVG aggregate functions. In distributed scenarios, using (avg1 + avg2 + avg3)/3 to calculate the average is incorrect and should be rewritten as (sum1 + sum2 + sum3) /(count1 + count2 + count3). In this case, rewriting the SQL containing AVG to SUM and COUNT is required, and recalculating the average when the results are merged. For example:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> <span style="color:#66d9ef">AVG</span>(price) <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">WHERE</span> user_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>;
</code></pre></div><p>The above SQL should be rewritten as:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> <span style="color:#66d9ef">COUNT</span>(price) <span style="color:#66d9ef">AS</span> AVG_DERIVED_COUNT_0, <span style="color:#66d9ef">SUM</span>(price) <span style="color:#66d9ef">AS</span> AVG_DERIVED_SUM_0 <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">WHERE</span> user_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>;
</code></pre></div><p>Then you can calculate the average correctly by merging the results.</p>
<p>The last type of column derivation is the one that does not need to write the primary key field if the database auto-increment primary key is used during executing an INSERT SQL statement. However, the auto-increment primary key of the database cannot meet the unique primary key in distributed scenarios. Therefore, ShardingSphere provides the generation strategy of the distributed auto-increment primary key. Users can replace the existing auto-increment primary key transparently with the distributed auto-increment primary key without changing the existing code through column derivation. The generation strategy for distributed auto-increment primary keys is described below, and here only SQL rewriting is illustrated. For example, if the primary key of table <code>t_order</code> is <code>order_id</code>, the original SQL would be:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order (<span style="color:#f92672">`</span>field1<span style="color:#f92672">`</span>, <span style="color:#f92672">`</span>field2<span style="color:#f92672">`</span>) <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">1</span>);
</code></pre></div><p>As you can see, the above SQL does not contain the auto-increment primary key, which requires the database itself to fill. After ShardingSphere is configured with the auto-increment primary key, SQL will be rewritten as:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order (<span style="color:#f92672">`</span>field1<span style="color:#f92672">`</span>, <span style="color:#f92672">`</span>field2<span style="color:#f92672">`</span>, order_id) <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">1</span>, xxxxx);
</code></pre></div><p>The rewritten SQL will add column names of the primary key and auto-increment primary key values generated automatically at the end of the INSERT FIELD and INSERT VALUE. The xxxxx in the above SQL represents the auto-increment primary key value generated automatically.</p>
<p>If the INSERT SQL does not contain the column name of the table, ShardingSphere can also compare the number of parameters and the number of columns in the table meta information and automatically generate auto-increment primary keys. For example, the original SQL is:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">1</span>);
</code></pre></div><p>The rewritten SQL will simply add the auto-increment primary key in the column order in which the primary key locates:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order <span style="color:#66d9ef">VALUES</span> (xxxxx, <span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">1</span>);
</code></pre></div><p>If you use placeholders to write SQL, you only need to rewrite the parameter list, not the SQL itself.</p>
<h2 id="pagination-correction">Pagination Correction</h2>
<p>The scenario of acquiring pagination data from multiple databases is different from that of one single database. If every 10 pieces of data are taken as one page, the user wants to take the second page of data. It is not correct to acquire <code>LIMIT 10, 10</code> under sharding situations, or take out the first 10 pieces of data according to sorting conditions after merging. For example, if SQL is:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> score <span style="color:#66d9ef">FROM</span> t_score <span style="color:#66d9ef">ORDER</span> <span style="color:#66d9ef">BY</span> score <span style="color:#66d9ef">DESC</span> <span style="color:#66d9ef">LIMIT</span> <span style="color:#ae81ff">1</span>, <span style="color:#ae81ff">2</span>;
</code></pre></div><p>The following picture shows the pagination execution results without SQL rewriting.</p>
<p><img src="https://shardingsphere.apache.org/document/current/img/sharding/pagination_without_rewrite_en.png" alt="Pagination without rewrite"></p>
<p>As shown in the picture, if you want to acquire the second and the third piece of data sorted by score in both tables, and they are supposed to be <code>95</code> and <code>90</code>.</p>
<p>Since executed SQL can only acquire the second and the third piece of data from each table, i.e., <code>90</code> and <code>80</code> from <code>t_score_0</code>, <code>85</code> and <code>75</code> from <code>t_score_1</code>.
When merging results, it can only merge from <code>90</code>, <code>80</code>, <code>85</code> and <code>75</code> already acquired, so the right result cannot be acquired anyway.</p>
<p>The right way is to rewrite pagination conditions as <code>LIMIT 0, 3</code>, take out all the data from the first two pages and calculate the right data based on sorting conditions.
The following picture shows the execution results of pagination after SQL rewrite.</p>
<p><img src="https://shardingsphere.apache.org/document/current/img/sharding/pagination_with_rewrite_en.png" alt="Pagination with rewrite"></p>
<p>The latter the offset position is, the lower the efficiency of using <code>LIMIT</code> pagination will be.
There are many ways to avoid using <code>LIMIT</code> as pagination method, such as constructing a secondary index to the number of line records and line offsets or using the end ID of the last pagination data as a condition for the next query.</p>
<p>When revising pagination information, if the users use the placeholder to write SQL, they only need to rewrite the parameter list rather than SQL itself.</p>
<h2 id="batch-split">Batch Split</h2>
<p>When using bulk inserted SQL, if the inserted data crosses shards, the SQL needs to be rewritten to prevent excess data from being written to the database.</p>
<p>The insertion operation differs from the query operation in that the query statement does not affect the data even if it uses the shard key that does not exist in the current shard. In contrast, insertion operations must remove excess shard keys. For example, see the following SQL:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order (order_id, xxx) <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">1</span>, <span style="color:#e6db74">&#39;xxx&#39;</span>), (<span style="color:#ae81ff">2</span>, <span style="color:#e6db74">&#39;xxx&#39;</span>), (<span style="color:#ae81ff">3</span>, <span style="color:#e6db74">&#39;xxx&#39;</span>);
</code></pre></div><p>If the database is still divided into two parts according to the odd and even number of order_id, this SQL will be executed after its table name is revised. Then, both shards will be written with the same record.</p>
<p>Though only the data that satisfies sharding conditions can be retrieved from the query statement, it is not reasonable for the schema to have excessive data. So SQL should be rewritten as:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order_0 (order_id, xxx) <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">2</span>, <span style="color:#e6db74">&#39;xxx&#39;</span>);
<span style="color:#66d9ef">INSERT</span> <span style="color:#66d9ef">INTO</span> t_order_1 (order_id, xxx) <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">1</span>, <span style="color:#e6db74">&#39;xxx&#39;</span>), (<span style="color:#ae81ff">3</span>, <span style="color:#e6db74">&#39;xxx&#39;</span>);
</code></pre></div><p>IN query is similar to batch insertion, but IN operation will not lead to wrong data query result. Through rewriting IN query, the query performance can be further improved. See the following SQL:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> <span style="color:#f92672">*</span> <span style="color:#66d9ef">FROM</span> t_order <span style="color:#66d9ef">WHERE</span> order_id <span style="color:#66d9ef">IN</span> (<span style="color:#ae81ff">1</span>, <span style="color:#ae81ff">2</span>, <span style="color:#ae81ff">3</span>);
</code></pre></div><p>The SQL is rewritten as:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> <span style="color:#f92672">*</span> <span style="color:#66d9ef">FROM</span> t_order_0 <span style="color:#66d9ef">WHERE</span> order_id <span style="color:#66d9ef">IN</span> (<span style="color:#ae81ff">2</span>);
<span style="color:#66d9ef">SELECT</span> <span style="color:#f92672">*</span> <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">WHERE</span> order_id <span style="color:#66d9ef">IN</span> (<span style="color:#ae81ff">1</span>, <span style="color:#ae81ff">3</span>);
</code></pre></div><p>The query performance will be further improved. For now, ShardingSphere has not realized this rewrite strategy, so the current rewrite result is:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sql" data-lang="sql"><span style="color:#66d9ef">SELECT</span> <span style="color:#f92672">*</span> <span style="color:#66d9ef">FROM</span> t_order_0 <span style="color:#66d9ef">WHERE</span> order_id <span style="color:#66d9ef">IN</span> (<span style="color:#ae81ff">1</span>, <span style="color:#ae81ff">2</span>, <span style="color:#ae81ff">3</span>);
<span style="color:#66d9ef">SELECT</span> <span style="color:#f92672">*</span> <span style="color:#66d9ef">FROM</span> t_order_1 <span style="color:#66d9ef">WHERE</span> order_id <span style="color:#66d9ef">IN</span> (<span style="color:#ae81ff">1</span>, <span style="color:#ae81ff">2</span>, <span style="color:#ae81ff">3</span>);
</code></pre></div><p>Though the execution result of SQL is right, it did not achieve the highest query efficiency.</p>
<h2 id="rewriting-for-optimization">Rewriting for Optimization</h2>
<p>Its purpose is to effectively improve performance without influencing the correctness of the query. It can be divided into single node optimization and stream merger optimization.</p>
<h3 id="single-node-optimization">Single Node Optimization</h3>
<p>It refers to the optimization that stops the SQL rewrite from the route to the single node. After acquiring one route result, if it is routed to a single data node, there is no need to involve result merger, as well as rewrites such as column derivation and pagination information correction.</p>
<p>In particular, there is no need to read from the first piece of information, which reduces the pressure on the database to a large extent and saves meaningless consumption of the network bandwidth.</p>
<h3 id="stream-merger-optimization">Stream Merger Optimization</h3>
<p>It only adds <code>ORDER BY</code> and ordering items and sorting orders identical with grouping items to SQL that contains <code>GROUP BY</code>. And it is used to transfer memory merger to stream merger. Stream merger and memory merger will be explained in detail in the result merger section.</p>
<p>The overall structure of the rewrite engine is shown in the following picture.</p>
<p><img src="https://shardingsphere.apache.org/document/current/img/sharding/rewrite_architecture_en.png" alt="Rewrite Engine"></p>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation" >
<a class="nav nav-prev" href="https://shardingsphere.apache.org/document/current/en/reference/sharding/route/" title="Route Engine"> <i class="fa fa-long-arrow-left fa-lg"></i> Previous</a>
<a class="nav nav-next" href="https://shardingsphere.apache.org/document/current/en/reference/sharding/execute/" title="Execute Engine" style="margin-right: 0px;">Next<i class="fa fa-long-arrow-right fa-lg"></i></a>
</div>
</section>
</div>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="https://shardingsphere.apache.org/document/current/js/clipboard.min.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/perfect-scrollbar.min.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/perfect-scrollbar.jquery.min.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/jquery.sticky.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/featherlight.min.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/html5shiv-printshiv.min.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/highlight.pack.js?1660280475"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://shardingsphere.apache.org/document/current/js/modernizr.custom.71422.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/learn.js?1660280475"></script>
<script src="https://shardingsphere.apache.org/document/current/js/hugo-learn.js?1660280475"></script>
<script>
try{
function log(fileName, category, locale){
window._hmt.push(['_trackEvent', 'document', 'download', locale ? 'PDF_'+locale : fileName]);
gtag('event', 'Downloads', {
'event_category' : locale ? 'PDF' : category,
'event_label' : locale ? locale+'.pdf' : fileName
});
}
$('.padding[href*=shardingsphere]').on('click', function(){
var locale = /cn/.test(location.pathname) ?'cn':'en';
log('','', locale)
})
function getFileName(str){
var strs = str.split('/');
return strs[strs.length - 1]
}
$('a[href$="src.zip"]').on('click', function(){
log(getFileName($(this).attr('href')), "SRC")
})
$('a[href$="zip.asc"]').on('click', function(){
log(getFileName($(this).attr('href')), "ASC")
})
$('a[href$="zip.sha512"]').on('click', function(){
log(getFileName($(this).attr('href')), "SHA512")
})
$('a[href$="tar.gz.asc"]').on('click', function(){
log(getFileName($(this).attr('href')), "ASC")
})
$('a[href$="tar.gz.sha512"]').on('click', function(){
log(getFileName($(this).attr('href')), "SHA512")
})
$('a[href$="tar.gz"]').on('click', function(){
log(getFileName($(this).attr('href')), "TAR")
})
}catch(ex){}
</script>
</body>
</html>