blob: 5e69786396ba60f522280a789233310cd4c45af6 [file] [log] [blame]
<!DOCTYPE html>
<html lang="cn" 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:19">
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />
<title>改写引擎 :: ShardingSphere</title>
<link href="https://shardingsphere.apache.org/document/current/css/nucleus.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/font-awesome.min.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/hybrid.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/featherlight.min.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/perfect-scrollbar.min.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/auto-complete.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/theme.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/hugo-theme.css?1660280479" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/theme-white.css?1660280479" rel="stylesheet">
<script src="https://shardingsphere.apache.org/document/current/js/jquery-2.x.min.js?1660280479"></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="/cn/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>
复古
</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>
护眼
</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>
海天
</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>
深邃
</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>
暗黑
</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>
默认
</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/">English</option>
<option id="cn" value="/document/current/cn/reference/sharding/rewrite/" selected>简体中文</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?1660280479"></script>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/auto-complete.js?1660280479"></script>
<script type="text/javascript">
var baseurl = "\/cn";
</script>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/search.js?1660280479"></script>
</div>
<div class="highlightable">
<div class="leftMenu">
<ul class="topics">
<li data-nav-id="/cn/overview/" title="概览" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>概览
</a>
<ul>
<li data-nav-id="/cn/overview/intro/" title="什么是 ShardingSphere" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>什么是 ShardingSphere
</a>
</li>
<li data-nav-id="/cn/overview/design/" title="设计哲学" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>设计哲学
</a>
</li>
<li data-nav-id="/cn/overview/deployment/" title="部署形态" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>部署形态
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/quick-start/" title="快速入门" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>快速入门
</a>
<ul>
<li data-nav-id="/cn/quick-start/shardingsphere-jdbc-quick-start/" title="ShardingSphere-JDBC" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/quick-start/shardingsphere-proxy-quick-start/" title="ShardingSphere-Proxy" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/features/" title="功能" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>功能
</a>
<ul>
<li data-nav-id="/cn/features/sharding/" title="数据分片" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据分片
</a>
<ul>
<li data-nav-id="/cn/features/sharding/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/sharding/limitation/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
<li data-nav-id="/cn/features/sharding/appendix/" title="附录" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
附录
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/transaction/" title="分布式事务" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>分布式事务
</a>
<ul>
<li data-nav-id="/cn/features/transaction/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/transaction/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/readwrite-splitting/" title="读写分离" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>读写分离
</a>
<ul>
<li data-nav-id="/cn/features/readwrite-splitting/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/readwrite-splitting/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/ha/" title="高可用" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>高可用
</a>
<ul>
<li data-nav-id="/cn/features/ha/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/ha/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/db-gateway/" title="数据库网关" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据库网关
</a>
<ul>
<li data-nav-id="/cn/features/db-gateway/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/db-gateway/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/management/" title="流量治理" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>流量治理
</a>
<ul>
<li data-nav-id="/cn/features/management/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/scaling/" title="数据迁移" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据迁移
</a>
<ul>
<li data-nav-id="/cn/features/scaling/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/scaling/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/encrypt/" title="数据加密" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据加密
</a>
<ul>
<li data-nav-id="/cn/features/encrypt/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/encrypt/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/shadow/" title="影子库" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>影子库
</a>
<ul>
<li data-nav-id="/cn/features/shadow/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
<li data-nav-id="/cn/features/shadow/limitations/" title="使用限制" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用限制
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/features/observability/" title="可观察性" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>可观察性
</a>
<ul>
<li data-nav-id="/cn/features/observability/concept/" title="核心概念" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
核心概念
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/" title="用户手册" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>用户手册
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/" title="ShardingSphere-JDBC" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/user-manual/shardingsphere-jdbc/java-api/" title="Java API" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/user-manual/shardingsphere-jdbc/java-api/mode/" title="模式配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
模式配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/data-source/" title="数据源配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据源配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/" title="规则配置" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则配置
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/transaction/" title="分布式事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分布式事务
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/ha/" title="高可用" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
高可用
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/shadow/" title="影子库" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/" title="SQL 解析" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 解析
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/" title="SQL 翻译" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 翻译
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/java-api/rules/mix/" title="混合规则" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
混合规则
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/" title="YAML 配置" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 配置
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/mode/" title="模式配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
模式配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/data-source/" title="数据源配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据源配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/" title="规则配置" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则配置
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/" title="分布式事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分布式事务
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/" title="高可用" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
高可用
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/" title="影子库" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/" title="SQL 解析" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 解析
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/" title="SQL 翻译" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 翻译
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/" title="混合规则" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
混合规则
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/jdbc-driver/" title="JDBC 驱动" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 驱动
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/" title="Spring Boot Starter" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/mode/" title="模式配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
模式配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/data-source/" title="数据源配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据源配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/" title="规则配置" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则配置
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/" title="高可用" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
高可用
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/shadow/" title="影子库" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sql-parser/" title="SQL 解析" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 解析
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/mix/" title="混合规则" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
混合规则
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/" title="Spring 命名空间" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 命名空间
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/mode/" title="模式配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
模式配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/data-source/" title="数据源配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据源配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/" title="规则配置" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则配置
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/" title="高可用" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
高可用
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/shadow/" title="影子库" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/sql-parser/" title="SQL解析" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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解析
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/spring-namespace/rules/mix/" title="混合规则" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
混合规则
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/props/" title="属性配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
属性配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/" title="内置算法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
内置算法
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/metadata-repository/" title="元数据持久化仓库" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
元数据持久化仓库
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/sharding/" title="分片算法" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分片算法
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/" title="分布式序列算法" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分布式序列算法
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance/" title="负载均衡算法" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
负载均衡算法
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/encrypt/" title="加密算法" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
加密算法
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/shadow/" title="影子算法" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子算法
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/builtin-algorithm/sql-translator/" title="SQL 翻译" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 翻译
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/" title="特殊 API" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
特殊 API
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/sharding/" title="数据分片" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/sharding/hint/" title="强制路由" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
强制路由
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/" title="读写分离" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/" title="强制路由" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
强制路由
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/" title="分布式事务" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分布式事务
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/" title="使用 Java API" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用 Java API
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/spring-boot-starter/" title="使用 Spring Boot Starter" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用 Spring Boot Starter
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/spring-namespace/" title="使用 Spring 命名空间" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用 Spring 命名空间
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/" title="Atomikos 事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 事务
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/" title="Narayana 事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 事务
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/" title="Bitronix 事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 事务
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/special-api/transaction/seata/" title="Seata 事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 事务
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-jdbc/unsupported/" title="不支持项" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
不支持项
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/" title="ShardingSphere-Proxy" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/user-manual/shardingsphere-proxy/startup/" title="启动手册" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
启动手册
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/startup/bin/" title="使用二进制发布包" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用二进制发布包
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/startup/docker/" title="使用 Docker" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用 Docker
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/startup/helm/" title="使用 Helm" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用 Helm
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/yaml-config/" title="YAML 配置" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 配置
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/yaml-config/authentication/" title="权限" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
权限
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/yaml-config/props/" title="属性配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
属性配置
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/yaml-config/rules/" title="规则配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则配置
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/" title="DistSQL" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/user-manual/shardingsphere-proxy/distsql/syntax/" title="语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
语法
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/" title="RDL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/" title="资源定义" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
资源定义
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/" title="规则定义" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则定义
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/" title="单表" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
单表
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/db-discovery/" title="数据库发现" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据库发现
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/" title="影子库压测" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库压测
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/" title="RQL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/resource-query/" title="资源查询" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
资源查询
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/" title="规则查询" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则查询
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/" title="单表" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
单表
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/db-discovery/" title="数据库发现" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据库发现
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/" title="影子库压测" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库压测
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/ral/" title="RAL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/syntax/rul/" title="RUL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/usage/" title="使用" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用
</a>
<ul>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据分片
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
读写分离
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据加密
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/" title="影子库压测" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
影子库压测
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/distsql/usage/db-discovery/" title="数据库发现" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
数据库发现
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/scaling/" title="Scaling" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/user-manual/shardingsphere-proxy/scaling/build/" title="运行部署" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
运行部署
</a>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/scaling/usage/" title="使用手册" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
使用手册
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/user-manual/shardingsphere-proxy/observability/" title="可观察性" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
可观察性
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/dev-manual/" title="开发者手册" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>开发者手册
</a>
<ul>
<li data-nav-id="/cn/dev-manual/mode/" title="运行模式" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>运行模式
</a>
</li>
<li data-nav-id="/cn/dev-manual/configuration/" title="配置" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>配置
</a>
</li>
<li data-nav-id="/cn/dev-manual/kernel/" title="内核" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>内核
</a>
</li>
<li data-nav-id="/cn/dev-manual/data-source/" title="数据源" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据源
</a>
</li>
<li data-nav-id="/cn/dev-manual/sql-parser/" title="SQL 解析" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 解析
</a>
</li>
<li data-nav-id="/cn/dev-manual/proxy/" title="代理端" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>代理端
</a>
</li>
<li data-nav-id="/cn/dev-manual/sharding/" title="数据分片" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据分片
</a>
</li>
<li data-nav-id="/cn/dev-manual/readwrite-splitting/" title="读写分离" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>读写分离
</a>
</li>
<li data-nav-id="/cn/dev-manual/ha/" title="高可用" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>高可用
</a>
</li>
<li data-nav-id="/cn/dev-manual/transaction/" title="分布式事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>分布式事务
</a>
</li>
<li data-nav-id="/cn/dev-manual/sql-check/" title="SQL 检查" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 检查
</a>
</li>
<li data-nav-id="/cn/dev-manual/encrypt/" title="数据加密" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据加密
</a>
</li>
<li data-nav-id="/cn/dev-manual/shadow/" title="影子库" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>影子库
</a>
</li>
<li data-nav-id="/cn/dev-manual/agent/" title="可观察性" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>可观察性
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/test-manual/" title="测试手册" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>测试手册
</a>
<ul>
<li data-nav-id="/cn/test-manual/integration-test/" title="集成测试" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>集成测试
</a>
</li>
<li data-nav-id="/cn/test-manual/performance-test/" title="性能测试" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>性能测试
</a>
<ul>
<li data-nav-id="/cn/test-manual/performance-test/sysbench-proxy-norules-test/" title="Sysbench ShardingSphere Proxy 空 Rules 性能测试" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 空 Rules 性能测试
</a>
</li>
<li data-nav-id="/cn/test-manual/performance-test/benchmarksql-proxy-sharding-test/" title="BenchmarkSQL ShardingSphere Proxy 分片性能测试" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 分片性能测试
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/test-manual/module-test/" title="模块测试" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>模块测试
</a>
<ul>
<li data-nav-id="/cn/test-manual/module-test/parser-test/" title="SQL 解析测试" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 解析测试
</a>
</li>
<li data-nav-id="/cn/test-manual/module-test/rewrite-test/" title="SQL 改写测试" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 改写测试
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/test-manual/scaling-integration-test/" title="Scaling 集成测试" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 集成测试
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/reference/" title="技术参考" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>技术参考
</a>
<ul>
<li data-nav-id="/cn/reference/db-compatibility/" title="数据兼容性" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据兼容性
</a>
</li>
<li data-nav-id="/cn/reference/gateway/" title="数据库网关" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据库网关
</a>
</li>
<li data-nav-id="/cn/reference/management/" title="管控" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>管控
</a>
</li>
<li data-nav-id="/cn/reference/sharding/" title="数据分片" class="dd-item
parent
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据分片
</a>
<ul>
<li data-nav-id="/cn/reference/sharding/parse/" title="解析引擎" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
解析引擎
</a>
</li>
<li data-nav-id="/cn/reference/sharding/route/" title="路由引擎" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
路由引擎
</a>
</li>
<li data-nav-id="/cn/reference/sharding/rewrite/" title="改写引擎" class="dd-item active">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
改写引擎
</a>
</li>
<li data-nav-id="/cn/reference/sharding/execute/" title="执行引擎" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
执行引擎
</a>
</li>
<li data-nav-id="/cn/reference/sharding/merge/" title="归并引擎" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
归并引擎
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/reference/transaction/" title="分布式事务" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>分布式事务
</a>
<ul>
<li data-nav-id="/cn/reference/transaction/2pc-xa-transaction/" title="XA 事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 事务
</a>
</li>
<li data-nav-id="/cn/reference/transaction/base-transaction-seata/" title="Seata 柔性事务" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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 柔性事务
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/reference/scaling/" title="数据迁移" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据迁移
</a>
</li>
<li data-nav-id="/cn/reference/encrypt/" title="数据加密" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>数据加密
</a>
</li>
<li data-nav-id="/cn/reference/shadow/" title="影子库" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>影子库
</a>
</li>
<li data-nav-id="/cn/reference/observability/" title="可观察性" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>可观察性
</a>
</li>
<li data-nav-id="/cn/reference/distsql/" title="DistSQL" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/reference/distsql/syntax/" title="语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
语法
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rdl/" title="RDL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rdl/resource-definition/" title="资源定义" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
资源定义
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rdl/resource-definition/add-resource/" title="ADD RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/reference/distsql/syntax/rdl/resource-definition/alter-resource/" title="ALTER RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/reference/distsql/syntax/rdl/resource-definition/drop-resource/" title="DROP RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/reference/distsql/syntax/rdl/rule-definition/" title="规则定义" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则定义
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rdl/rule-definition/sharding/" title="分片" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分片
</a>
<ul>
<li data-nav-id="/cn/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/cn/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="/cn/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/cn/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="/cn/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/cn/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="/cn/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/cn/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="/cn/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/cn/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="/cn/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/cn/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="/cn/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/cn/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="/cn/reference/distsql/syntax/rdl/rule-definition/single-table/" title="单表" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
单表
</a>
<ul>
<li data-nav-id="/cn/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/cn/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="/cn/reference/distsql/syntax/rql/" title="RQL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rql/resource-query/" title="资源查询" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
资源查询
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rql/resource-query/show-resource/" title="SHOW RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/reference/distsql/syntax/rql/resource-query/show-unused-resource/" title="SHOW UNUSED RESOURCE" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/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/cn/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="/cn/reference/distsql/syntax/rql/rule-query/" title="规则查询" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
规则查询
</a>
<ul>
<li data-nav-id="/cn/reference/distsql/syntax/rql/rule-query/sharding/" title="分片" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
分片
</a>
<ul>
<li data-nav-id="/cn/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/cn/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="/cn/reference/distsql/syntax/ral/" title="RAL 语法" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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 语法
</a>
</li>
<li data-nav-id="/cn/reference/distsql/syntax/reserved-word/" title="保留字" class="dd-item ">
<a href="https://shardingsphere.apache.org/document/current/cn/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>
保留字
</a>
</li>
</ul>
</li>
</ul>
</li>
<li data-nav-id="/cn/reference/architecture/" title="基础架构" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>基础架构
</a>
</li>
</ul>
</li>
<li data-nav-id="/cn/faq/" title="FAQ" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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="/cn/downloads/" title="下载" class="dd-item
">
<a href="https://shardingsphere.apache.org/document/current/cn/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>下载
</a>
</li>
</ul>
</div>
<a class="padding" href="https://shardingsphere.apache.org/pdf/shardingsphere_docs_cn.pdf">
下载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.cn.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/cn/'>ShardingSphere</a> > <a href='https://shardingsphere.apache.org/document/current/cn/reference/'>技术参考</a> > <a href='https://shardingsphere.apache.org/document/current/cn/reference/sharding/'>数据分片</a> > 改写引擎
</span>
</div>
</div>
</div>
<div id="body-inner">
<h1>改写引擎</h1>
<nav id="TableOfContents">
<ul>
<li><a href="#正确性改写">正确性改写</a>
<ul>
<li><a href="#标识符改写">标识符改写</a></li>
<li><a href="#补列">补列</a></li>
<li><a href="#分页修正">分页修正</a></li>
<li><a href="#批量拆分">批量拆分</a></li>
</ul>
</li>
<li><a href="#优化改写">优化改写</a>
<ul>
<li><a href="#单节点优化">单节点优化</a></li>
<li><a href="#流式归并优化">流式归并优化</a></li>
</ul>
</li>
</ul>
</nav>
<p>工程师面向逻辑库与逻辑表书写的 SQL,并不能够直接在真实的数据库中执行,SQL 改写用于将逻辑 SQL 改写为在真实数据库中可以正确执行的 SQL。
它包括正确性改写和优化改写两部分。</p>
<h2 id="正确性改写">正确性改写</h2>
<p>在包含分表的场景中,需要将分表配置中的逻辑表名称改写为路由之后所获取的真实表名称。仅分库则不需要表名称的改写。除此之外,还包括补列和分页信息修正等内容。</p>
<h3 id="标识符改写">标识符改写</h3>
<p>需要改写的标识符包括表名称、索引名称以及 Schema 名称。</p>
<p>表名称改写是指将找到逻辑表在原始 SQL 中的位置,并将其改写为真实表的过程。表名称改写是一个典型的需要对 SQL 进行解析的场景。
从一个最简单的例子开始,若逻辑 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">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>;
</code></pre></div><p>假设该 SQL 配置分片键 order_id,并且 order_id=1 的情况,将路由至分片表 1。那么改写之后的 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_1 <span style="color:#66d9ef">WHERE</span> order_id<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>;
</code></pre></div><p>在这种最简单的 SQL 场景中,是否将 SQL 解析为抽象语法树似乎无关紧要,只要通过字符串查找和替换就可以达到 SQL 改写的效果。
但是下面的场景,就无法仅仅通过字符串的查找替换来正确的改写 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">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>正确改写的 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_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>而非:</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>由于表名之外可能含有表名称的类似字符,因此不能通过简单的字符串替换的方式去改写 SQL。</p>
<p>下面再来看一个更加复杂的 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> 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>上面的 SQL 将表名作为字段的标识符,因此在 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> 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>而如果 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> 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>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> 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>索引名称是另一个有可能改写的标识符。
在某些数据库中(如 MySQL、SQLServer),索引是以表为维度创建的,在不同的表中的索引是可以重名的;
而在另外的一些数据库中(如 PostgreSQL、Oracle),索引是以数据库为维度创建的,即使是作用在不同表上的索引,它们也要求其名称的唯一性。</p>
<p>在 ShardingSphere 中,管理 Schema 的方式与管理表如出一辙,它采用逻辑 Schema 去管理一组数据源。
因此,ShardingSphere 需要将用户在 SQL 中书写的逻辑 Schema 替换为真实的数据库 Schema。</p>
<p>ShardingSphere 目前还不支持在 DQL 和 DML 语句中使用 Schema。
它目前仅支持在数据库管理语句中使用 Schema,例如:</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 的改写指的是将逻辑 Schema 采用单播路由的方式,改写为随机查找到的一个正确的真实 Schema。</p>
<h3 id="补列">补列</h3>
<p>需要在查询语句中补列通常由两种情况导致。
第一种情况是 ShardingSphere 需要在结果归并时获取相应数据,但该数据并未能通过查询的 SQL 返回。
这种情况主要是针对 GROUP BY 和 ORDER BY。结果归并时,需要根据 <code>GROUP BY</code><code>ORDER BY</code> 的字段项进行分组和排序,但如果原始 SQL 的选择项中若并未包含分组项或排序项,则需要对原始 SQL 进行改写。
先看一下原始 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, 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>由于使用 user_id 进行排序,在结果归并中需要能够获取到 user_id 的数据,而上面的 SQL 是能够获取到 user_id 数据的,因此无需补列。</p>
<p>如果选择项中不包含结果归并时所需的列,则需要进行补列,如以下 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>由于原始 SQL 中并不包含需要在结果归并中需要获取的 user_id,因此需要对 SQL 进行补列改写。补列之后的 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, 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>值得一提的是,补列只会补充缺失的列,不会全部补充,而且,在 SELECT 语句中包含 * 的 SQL,也会根据表的元数据信息选择性补列。下面是一个较为复杂的 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>我们假设只有 t_order_item 表中包含 order_item_id 列,那么根据表的元数据信息可知,在结果归并时,排序项中的 user_id 是存在于 t_order 表中的,无需补列;order_item_id 并不在 t_order 中,因此需要补列。
补列之后的 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>, 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>补列的另一种情况是使用 AVG 聚合函数。在分布式的场景中,使用 avg1 + avg2 + avg3 / 3 计算平均值并不正确,需要改写为 (sum1 + sum2 + sum3) / (count1 + count2 + count3)。
这就需要将包含 AVG 的 SQL 改写为 SUM 和 COUNT,并在结果归并时重新计算平均值。例如以下 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:#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>需要改写为:</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>然后才能够通过结果归并正确的计算平均值。</p>
<p>最后一种补列是在执行 INSERT 的 SQL 语句时,如果使用数据库自增主键,是无需写入主键字段的。
但数据库的自增主键是无法满足分布式场景下的主键唯一的,因此 ShardingSphere 提供了分布式自增主键的生成策略,并且可以通过补列,让使用方无需改动现有代码,即可将分布式自增主键透明的替换数据库现有的自增主键。
分布式自增主键的生成策略将在下文中详述,这里只阐述与 SQL 改写相关的内容。
举例说明,假设表 t_order 的主键是 order_id,原始的 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 (<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>可以看到,上述 SQL 中并未包含自增主键,是需要数据库自行填充的。ShardingSphere 配置自增主键后,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 (<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>改写后的 SQL 将在 INSERT FIELD 和 INSERT VALUE 的最后部分增加主键列名称以及自动生成的自增主键值。上述 SQL 中的 <code>xxxxx</code> 表示自动生成的自增主键值。</p>
<p>如果 INSERT 的 SQL 中并未包含表的列名称,ShardingSphere 也可以根据判断参数个数以及表元信息中的列数量对比,并自动生成自增主键。例如,原始的 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 <span style="color:#66d9ef">VALUES</span> (<span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">1</span>);
</code></pre></div><p>改写的 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 <span style="color:#66d9ef">VALUES</span> (xxxxx, <span style="color:#ae81ff">10</span>, <span style="color:#ae81ff">1</span>);
</code></pre></div><p>自增主键补列时,如果使用占位符的方式书写 SQL,则只需要改写参数列表即可,无需改写 SQL 本身。</p>
<h3 id="分页修正">分页修正</h3>
<p>从多个数据库获取分页数据与单数据库的场景是不同的。
假设每 10 条数据为一页,取第 2 页数据。在分片环境下获取 LIMIT 10, 10,归并之后再根据排序条件取出前 10 条数据是不正确的。
举例说明,若 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> 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>下图展示了不进行 SQL 的改写的分页执行结果。</p>
<p><img src="https://shardingsphere.apache.org/document/current/img/sharding/pagination_without_rewrite.png" alt="不改写SQL的分页执行结果"></p>
<p>通过图中所示,想要取得两个表中共同的按照分数排序的第 2 条和第 3 条数据,应该是 <code>95</code><code>90</code>
由于执行的 SQL 只能从每个表中获取第 2 条和第 3 条数据,即从 t_score_0 表中获取的是 <code>90</code><code>80</code>;从 t_score_1 表中获取的是 <code>85</code><code>75</code>
因此进行结果归并时,只能从获取的 <code>90</code><code>80</code><code>85</code><code>75</code> 之中进行归并,那么结果归并无论怎么实现,都不可能获得正确的结果。</p>
<p>正确的做法是将分页条件改写为 <code>LIMIT 0, 3</code>,取出所有前两页数据,再结合排序条件计算出正确的数据。
下图展示了进行 SQL 改写之后的分页执行结果。</p>
<p><img src="https://shardingsphere.apache.org/document/current/img/sharding/pagination_with_rewrite.png" alt="改写SQL的分页执行结果"></p>
<p>越获取偏移量位置靠后数据,使用 LIMIT 分页方式的效率就越低。
有很多方法可以避免使用 LIMIT 进行分页。比如构建行记录数量与行偏移量的二级索引,或使用上次分页数据结尾 ID 作为下次查询条件的分页方式等。</p>
<p>分页信息修正时,如果使用占位符的方式书写 SQL,则只需要改写参数列表即可,无需改写 SQL 本身。</p>
<h3 id="批量拆分">批量拆分</h3>
<p>在使用批量插入的 SQL 时,如果插入的数据是跨分片的,那么需要对 SQL 进行改写来防止将多余的数据写入到数据库中。
插入操作与查询操作的不同之处在于,查询语句中即使用了不存在于当前分片的分片键,也不会对数据产生影响;而插入操作则必须将多余的分片键删除。
举例说明,如下 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>假设数据库仍然是按照 order_id 的奇偶值分为两片的,仅将这条 SQL 中的表名进行修改,然后发送至数据库完成 SQL 的执行 ,则两个分片都会写入相同的记录。
虽然只有符合分片查询条件的数据才能够被查询语句取出,但存在冗余数据的实现方案并不合理。因此需要将 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_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 的查询与批量插入的情况相似,不过 IN 操作并不会导致数据查询结果错误。通过对 IN 查询的改写,可以进一步的提升查询性能。如以下 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>改写为:</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>可以进一步的提升查询性能。ShardingSphere 暂时还未实现此改写策略,目前的改写结果是:</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>虽然 SQL 的执行结果是正确的,但并未达到最优的查询效率。</p>
<h2 id="优化改写">优化改写</h2>
<p>优化改写的目的是在不影响查询正确性的情况下,对性能进行提升的有效手段。它分为单节点优化和流式归并优化。</p>
<h3 id="单节点优化">单节点优化</h3>
<p>路由至单节点的 SQL,则无需优化改写。
当获得一次查询的路由结果后,如果是路由至唯一的数据节点,则无需涉及到结果归并。因此补列和分页信息等改写都没有必要进行。
尤其是分页信息的改写,无需将数据从第 1 条开始取,大量的降低了对数据库的压力,并且节省了网络带宽的无谓消耗。</p>
<h3 id="流式归并优化">流式归并优化</h3>
<p>它仅为包含 <code>GROUP BY</code> 的 SQL 增加 <code>ORDER BY</code> 以及和分组项相同的排序项和排序顺序,用于将内存归并转化为流式归并。
在结果归并的部分中,将对流式归并和内存归并进行详细说明。</p>
<p>改写引擎的整体结构划分如下图所示。</p>
<p><img src="https://shardingsphere.apache.org/document/current/img/sharding/rewrite_architecture_cn.png" alt="改写引擎结构"></p>
<footer class=" footline" >
</footer>
</div>
</div>
<div id="navigation" >
<a class="nav nav-prev" href="https://shardingsphere.apache.org/document/current/cn/reference/sharding/route/" title="路由引擎"> <i class="fa fa-long-arrow-left fa-lg"></i> 上一篇</a>
<a class="nav nav-next" href="https://shardingsphere.apache.org/document/current/cn/reference/sharding/execute/" title="执行引擎" style="margin-right: 0px;">下一篇 <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?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/perfect-scrollbar.min.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/perfect-scrollbar.jquery.min.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/jquery.sticky.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/featherlight.min.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/html5shiv-printshiv.min.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/highlight.pack.js?1660280479"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://shardingsphere.apache.org/document/current/js/modernizr.custom.71422.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/learn.js?1660280479"></script>
<script src="https://shardingsphere.apache.org/document/current/js/hugo-learn.js?1660280479"></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>