blob: 72795ecfe871d8e9bbaa646ba172570796c8fa09 [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:20">
<link rel="shortcut icon" href="https://shardingsphere.apache.org/document/current/img/favicon.png" type="image/x-icon" />
<title>FAQ :: ShardingSphere</title>
<link href="https://shardingsphere.apache.org/document/current/css/nucleus.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/font-awesome.min.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/hybrid.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/featherlight.min.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/perfect-scrollbar.min.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/auto-complete.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/theme.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/hugo-theme.css?1660280480" rel="stylesheet">
<link href="https://shardingsphere.apache.org/document/current/css/theme-white.css?1660280480" rel="stylesheet">
<script src="https://shardingsphere.apache.org/document/current/js/jquery-2.x.min.js?1660280480"></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/faq/">
<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/faq/">English</option>
<option id="cn" value="/document/current/cn/faq/" 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?1660280480"></script>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/auto-complete.js?1660280480"></script>
<script type="text/javascript">
var baseurl = "\/cn";
</script>
<script type="text/javascript" src="https://shardingsphere.apache.org/document/current/js/search.js?1660280480"></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
">
<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: 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. </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
">
<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: 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.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 ">
<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
parent
active
">
<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/faq/_index.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 class="links">
<a href='https://shardingsphere.apache.org/document/current/cn/'>ShardingSphere</a> > FAQ
</span>
</div>
</div>
</div>
<div id="chapter">
<div id="body-inner">
<nav id="TableOfContents">
<ul>
<li><a href="#jdbc">JDBC</a>
<ul>
<li><a href="#jdbc-为什么配置了某个数据连接池的-spring-boot-starter比如-druid和-shardingsphere-jdbc-spring-boot-starter-时系统启动会报错">[JDBC] 为什么配置了某个数据连接池的 spring-boot-starter(比如 druid)和 shardingsphere-jdbc-spring-boot-starter 时,系统启动会报错?</a></li>
<li><a href="#jdbc-使用-spring-命名空间时找不到-xsd">[JDBC] 使用 Spring 命名空间时找不到 xsd?</a></li>
<li><a href="#jdbc-引入-shardingsphere-transaction-xa-core-后如何避免-spring-boot-自动加载默认的-jtatransactionmanager">[JDBC] 引入 <code>shardingsphere-transaction-xa-core</code> 后,如何避免 spring-boot 自动加载默认的 JtaTransactionManager?</a></li>
<li><a href="#jdbc-oracle-表名字段名配置大小写在加载-metadata-元数据时结果不正确">[JDBC] Oracle 表名、字段名配置大小写在加载 <code>metadata</code> 元数据时结果不正确?</a></li>
</ul>
</li>
<li><a href="#proxy">Proxy</a>
<ul>
<li><a href="#proxy-windows-环境下运行-shardingsphere-proxy找不到或无法加载主类-orgapacheshardingsphereproxybootstrap如何解决">[Proxy] Windows 环境下,运行 ShardingSphere-Proxy,找不到或无法加载主类 org.apache.shardingsphere.proxy.Bootstrap,如何解决?</a></li>
<li><a href="#proxy-在使用-shardingsphere-proxy-的时候如何动态在添加新的逻辑库">[Proxy] 在使用 ShardingSphere-Proxy 的时候,如何动态在添加新的逻辑库?</a></li>
<li><a href="#proxy-在使用-shardingsphere-proxy-时怎么使用合适的工具连接到-shardingsphere-proxy">[Proxy] 在使用 ShardingSphere-Proxy 时,怎么使用合适的工具连接到 ShardingSphere-Proxy?</a></li>
<li><a href="#proxy-使用-navicat-等第三方数据库工具连接-shardingsphere-proxy-时如果-shardingsphere-proxy-没有创建-database-或者没有添加-resource连接失败">[Proxy] 使用 Navicat 等第三方数据库工具连接 ShardingSphere-Proxy 时,如果 ShardingSphere-Proxy 没有创建 Database 或者没有添加 Resource,连接失败?</a></li>
</ul>
</li>
<li><a href="#分片">分片</a>
<ul>
<li><a href="#分片-cloud-not-resolve-placeholder--in-string-value--异常的解决方法">[分片] Cloud not resolve placeholder &hellip; in string value &hellip; 异常的解决方法?</a></li>
<li><a href="#分片-inline-表达式返回结果为何出现浮点数">[分片] inline 表达式返回结果为何出现浮点数?</a></li>
<li><a href="#分片-如果只有部分数据库分库分表是否需要将不分库分表的表也配置在分片规则中">[分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中?</a></li>
<li><a href="#分片-指定了泛型为-long-的-singlekeytableshardingalgorithm遇到-classcastexception-integer-can-not-cast-to-long">[分片] 指定了泛型为 Long 的 <code>SingleKeyTableShardingAlgorithm</code>,遇到 <code>ClassCastException: Integer can not cast to Long</code>?</a></li>
<li><a href="#分片proxy-实现-standardshardingalgorithm-自定义算法时指定了-comparable-的具体类型为-long-且数据库表中字段类型为-bigint出现-classcastexception-integer-can-not-cast-to-long-异常">[分片、PROXY] 实现 <code>StandardShardingAlgorithm</code> 自定义算法时,指定了 <code>Comparable</code> 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 <code>ClassCastException: Integer can not cast to Long</code> 异常。</a></li>
<li><a href="#分片--shardingsphere-提供的默认分布式自增主键策略为什么是不连续的且尾数大多为偶数">[分片] ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数?</a></li>
<li><a href="#分片-如何在-inline-分表策略时允许执行范围查询操作between-and">[分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN AND、&gt;、&lt;、&gt;=、&lt;=)?</a></li>
<li><a href="#分片-为什么我实现了-keygeneratealgorithm-接口也配置了-type但是自定义的分布式主键依然不生效">[分片] 为什么我实现了 <code>KeyGenerateAlgorithm</code> 接口,也配置了 Type,但是自定义的分布式主键依然不生效?</a></li>
<li><a href="#分片-shardingsphere-除了支持自带的分布式自增主键之外还能否支持原生的自增主键">[分片] ShardingSphere 除了支持自带的分布式自增主键之外,还能否支持原生的自增主键?</a></li>
</ul>
</li>
<li><a href="#数据加密">数据加密</a>
<ul>
<li><a href="#数据加密-jpa-和-数据加密无法一起使用如何解决">[数据加密] JPA 和 数据加密无法一起使用,如何解决?</a></li>
</ul>
</li>
<li><a href="#distsql">DistSQL</a>
<ul>
<li><a href="#distsql-使用-distsql-添加数据源时如何设置自定义的-jdbc-连接参数或连接池属性">[DistSQL] 使用 DistSQL 添加数据源时,如何设置自定义的 JDBC 连接参数或连接池属性?</a></li>
<li><a href="#distsql-使用-distsql-删除资源时出现-resource-xxx-is-still-used-by-singletablerule">[DistSQL] 使用 <code>DistSQL</code> 删除资源时,出现 <code>Resource [xxx] is still used by [SingleTableRule]</code></a></li>
<li><a href="#distsql-使用-distsql-添加资源时出现-failed-to-get-driver-instance-for-jdbcurlxxx">[DistSQL] 使用 <code>DistSQL</code> 添加资源时,出现 <code>Failed to get driver instance for jdbcURL=xxx</code></a></li>
</ul>
</li>
<li><a href="#其他">其他</a>
<ul>
<li><a href="#其他-如果-sql-在-shardingsphere-中执行不正确该如何调试">[其他] 如果 SQL 在 ShardingSphere 中执行不正确,该如何调试?</a></li>
<li><a href="#其他-阅读源码时为什么会出现编译错误-idea-不索引生成的代码">[其他] 阅读源码时为什么会出现编译错误? IDEA 不索引生成的代码?</a></li>
<li><a href="#其他-使用-sqlsever-和-postgresql-时聚合列不加别名会抛异常">[其他] 使用 SQLSever 和 PostgreSQL 时,聚合列不加别名会抛异常?</a></li>
<li><a href="#其他-oracle-数据库使用-timestamp-类型的-order-by-语句抛出异常提示-order-by-value-must-implements-comparable">[其他] Oracle 数据库使用 Timestamp 类型的 Order By 语句抛出异常提示 “Order by value must implements Comparable”?</a></li>
<li><a href="#其他-windows-环境下通过-git-克隆-shardingsphere-源码时为什么提示文件名过长如何解决">[其他] Windows 环境下,通过 Git 克隆 ShardingSphere 源码时为什么提示文件名过长,如何解决?</a></li>
<li><a href="#其他-type-is-required-异常的解决方法">[其他] Type is required 异常的解决方法?</a></li>
<li><a href="#其他-服务启动时如何加快-metadata-加载速度">[其他] 服务启动时如何加快 <code>metadata</code> 加载速度?</a></li>
<li><a href="#其他-antlr-插件在-src-同级目录下生成代码容易误提交如何避免">[其他] ANTLR 插件在 src 同级目录下生成代码,容易误提交,如何避免?</a></li>
<li><a href="#其他-使用-proxool-时分库结果不正确">[其他] 使用 <code>Proxool</code> 时分库结果不正确?</a></li>
<li><a href="#其他-使用-spring-boot-2x-集成-shardingsphere-时配置文件中的属性设置不生效">[其他] 使用 Spring Boot 2.x 集成 ShardingSphere 时,配置文件中的属性设置不生效?</a></li>
</ul>
</li>
</ul>
</nav>
<h2 id="jdbc">JDBC</h2>
<h3 id="jdbc-为什么配置了某个数据连接池的-spring-boot-starter比如-druid和-shardingsphere-jdbc-spring-boot-starter-时系统启动会报错">[JDBC] 为什么配置了某个数据连接池的 spring-boot-starter(比如 druid)和 shardingsphere-jdbc-spring-boot-starter 时,系统启动会报错?</h3>
<p>回答:</p>
<ol>
<li>因为数据连接池的 starter(比如 druid)可能会先加载并且其创建一个默认数据源,这将会使得 ShardingSphere-JDBC 创建数据源时发生冲突。</li>
<li>解决办法为,去掉数据连接池的 starter 即可,ShardingSphere-JDBC 自己会创建数据连接池。</li>
</ol>
<h3 id="jdbc-使用-spring-命名空间时找不到-xsd">[JDBC] 使用 Spring 命名空间时找不到 xsd?</h3>
<p>回答:</p>
<p>Spring 命名空间使用规范并未强制要求将 xsd 文件部署至公网地址,但考虑到部分用户的需求,我们也将相关 xsd 文件部署至 ShardingSphere 官网。
实际上 shardingsphere-jdbc-spring-namespace 的 jar 包中 META-INF\spring.schemas 配置了 xsd 文件的位置:
META-INF\namespace\sharding.xsd 和 META-INF\namespace\replica-query.xsd,只需确保 jar 包中该文件存在即可。</p>
<h3 id="jdbc-引入-shardingsphere-transaction-xa-core-后如何避免-spring-boot-自动加载默认的-jtatransactionmanager">[JDBC] 引入 <code>shardingsphere-transaction-xa-core</code> 后,如何避免 spring-boot 自动加载默认的 JtaTransactionManager?</h3>
<p>回答:</p>
<ol>
<li>需要在 spring-boot 的引导类中添加 <code>@SpringBootApplication(exclude = JtaAutoConfiguration.class)</code></li>
</ol>
<h3 id="jdbc-oracle-表名字段名配置大小写在加载-metadata-元数据时结果不正确">[JDBC] Oracle 表名、字段名配置大小写在加载 <code>metadata</code> 元数据时结果不正确?</h3>
<p>回答:
需要注意,Oracle 表名和字段名,默认元数据都是大写,除非建表语句中带双引号,如 <code>CREATE TABLE &quot;TableName&quot;(&quot;Id&quot; number)</code> 元数据为双引号中内容,可参考以下SQL查看元数据的具体情况:</p>
<pre><code>SELECT OWNER, TABLE_NAME, COLUMN_NAME, DATA_TYPE FROM ALL_TAB_COLUMNS WHERE TABLE_NAME IN ('TableName')
</code></pre><p>ShardingSphere 使用 <code>OracleTableMetaDataLoader</code> 对 Oracle 元数据进行加载,配置时需确保表名、字段名的大小写配置与数据库中的一致。
ShardingSphere 查询元数据关键SQL:</p>
<pre><code> private String getTableMetaDataSQL(final Collection&lt;String&gt; tables, final DatabaseMetaData metaData) throws SQLException {
StringBuilder stringBuilder = new StringBuilder(28);
if (versionContainsIdentityColumn(metaData)) {
stringBuilder.append(&quot;, IDENTITY_COLUMN&quot;);
}
if (versionContainsCollation(metaData)) {
stringBuilder.append(&quot;, COLLATION&quot;);
}
String collation = stringBuilder.toString();
return tables.isEmpty() ? String.format(TABLE_META_DATA_SQL, collation)
: String.format(TABLE_META_DATA_SQL_IN_TABLES, collation, tables.stream().map(each -&gt; String.format(&quot;'%s'&quot;, each)).collect(Collectors.joining(&quot;,&quot;)));
}
</code></pre><h2 id="proxy">Proxy</h2>
<h3 id="proxy-windows-环境下运行-shardingsphere-proxy找不到或无法加载主类-orgapacheshardingsphereproxybootstrap如何解决">[Proxy] Windows 环境下,运行 ShardingSphere-Proxy,找不到或无法加载主类 org.apache.shardingsphere.proxy.Bootstrap,如何解决?</h3>
<p>回答:</p>
<p>某些解压缩工具在解压 ShardingSphere-Proxy 二进制包时可能将文件名截断,导致找不到某些类。
解决方案:
打开 cmd.exe 并执行下面的命令:</p>
<pre><code>tar zxvf apache-shardingsphere-${RELEASE.VERSION}-shardingsphere-proxy-bin.tar.gz
</code></pre><h3 id="proxy-在使用-shardingsphere-proxy-的时候如何动态在添加新的逻辑库">[Proxy] 在使用 ShardingSphere-Proxy 的时候,如何动态在添加新的逻辑库?</h3>
<p>回答:</p>
<p>使用 ShardingSphere-Proxy 时,可以通过 <code>DistSQL</code> 动态的创建或移除逻辑库,语法如下:</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">CREATE</span> <span style="color:#66d9ef">DATABASE</span> [<span style="color:#66d9ef">IF</span> <span style="color:#66d9ef">NOT</span> <span style="color:#66d9ef">EXISTS</span>] databaseName;
<span style="color:#66d9ef">DROP</span> <span style="color:#66d9ef">DATABASE</span> [<span style="color:#66d9ef">IF</span> <span style="color:#66d9ef">EXISTS</span>] databaseName;
</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">CREATE</span> <span style="color:#66d9ef">DATABASE</span> sharding_db;
<span style="color:#66d9ef">DROP</span> <span style="color:#66d9ef">DATABASE</span> sharding_db;
</code></pre></div><h3 id="proxy-在使用-shardingsphere-proxy-时怎么使用合适的工具连接到-shardingsphere-proxy">[Proxy] 在使用 ShardingSphere-Proxy 时,怎么使用合适的工具连接到 ShardingSphere-Proxy?</h3>
<p>回答:</p>
<ol>
<li>ShardingSphere-Proxy 可以看做是一个 database server,所以首选支持 SQL 命令连接和操作。</li>
<li>如果使用其他第三方数据库工具,可能由于不同工具的特定实现导致出现异常。</li>
<li>目前已测试的第三方数据库工具如下:
<ul>
<li>Navicat:11.1.13、15.0.20。</li>
<li>DataGrip:2020.1、2021.1(使用 IDEA/DataGrip 时打开 <code>introspect using JDBC metadata</code> 选项)。</li>
<li>WorkBench:8.0.25。</li>
</ul>
</li>
</ol>
<h3 id="proxy-使用-navicat-等第三方数据库工具连接-shardingsphere-proxy-时如果-shardingsphere-proxy-没有创建-database-或者没有添加-resource连接失败">[Proxy] 使用 Navicat 等第三方数据库工具连接 ShardingSphere-Proxy 时,如果 ShardingSphere-Proxy 没有创建 Database 或者没有添加 Resource,连接失败?</h3>
<p>回答:</p>
<ol>
<li>第三方数据库工具在连接 ShardingSphere-Proxy 时会发送一些 SQL 查询元数据,当 ShardingSphere-Proxy 没有创建 <code>database</code> 或者没有添加 <code>resource</code> 时,ShardingSphere-Proxy 无法执行 SQL。</li>
<li>推荐先创建 <code>database</code><code>resource</code> 之后再使用第三方数据库工具连接。</li>
<li>有关 <code>resource</code> 的详情请参考。<a href="https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/">相关介绍</a></li>
</ol>
<h2 id="分片">分片</h2>
<h3 id="分片-cloud-not-resolve-placeholder--in-string-value--异常的解决方法">[分片] Cloud not resolve placeholder &hellip; in string value &hellip; 异常的解决方法?</h3>
<p>回答:</p>
<p>行表达式标识符可以使用 <code>${...}</code><code>$-&gt;{...}</code>,但前者与 Spring 本身的属性文件占位符冲突,因此在 Spring 环境中使用行表达式标识符建议使用 <code>$-&gt;{...}</code></p>
<h3 id="分片-inline-表达式返回结果为何出现浮点数">[分片] inline 表达式返回结果为何出现浮点数?</h3>
<p>回答:</p>
<p>Java的整数相除结果是整数,但是对于 inline 表达式中的 Groovy 语法则不同,整数相除结果是浮点数。
想获得除法整数结果需要将 A/B 改为 A.intdiv(B)。</p>
<h3 id="分片-如果只有部分数据库分库分表是否需要将不分库分表的表也配置在分片规则中">[分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中?</h3>
<p>回答:</p>
<p>不需要,ShardingSphere 会自动识别。</p>
<h3 id="分片-指定了泛型为-long-的-singlekeytableshardingalgorithm遇到-classcastexception-integer-can-not-cast-to-long">[分片] 指定了泛型为 Long 的 <code>SingleKeyTableShardingAlgorithm</code>,遇到 <code>ClassCastException: Integer can not cast to Long</code>?</h3>
<p>回答:</p>
<p>必须确保数据库表中该字段和分片算法该字段类型一致,如:数据库中该字段类型为 int(11),泛型所对应的分片类型应为 Integer,如果需要配置为 Long 类型,请确保数据库中该字段类型为 bigint。</p>
<h3 id="分片proxy-实现-standardshardingalgorithm-自定义算法时指定了-comparable-的具体类型为-long-且数据库表中字段类型为-bigint出现-classcastexception-integer-can-not-cast-to-long-异常">[分片、PROXY] 实现 <code>StandardShardingAlgorithm</code> 自定义算法时,指定了 <code>Comparable</code> 的具体类型为 Long, 且数据库表中字段类型为 bigint,出现 <code>ClassCastException: Integer can not cast to Long</code> 异常。</h3>
<p>回答:</p>
<p>实现 <code>doSharding</code> 方法时,不建议指定方法声明中 <code>Comparable</code> 具体的类型,而是在 <code>doSharding</code> 方法实现中对类型进行转换,可以参考 <code>ModShardingAlgorithm#doSharding</code> 方法</p>
<h3 id="分片--shardingsphere-提供的默认分布式自增主键策略为什么是不连续的且尾数大多为偶数">[分片] ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数?</h3>
<p>回答:</p>
<p>ShardingSphere 采用 snowflake 算法作为默认的分布式自增主键策略,用于保证分布式的情况下可以无中心化的生成不重复的自增序列。因此自增主键可以保证递增,但无法保证连续。
而 snowflake 算法的最后 4 位是在同一毫秒内的访问递增值。因此,如果毫秒内并发度不高,最后 4 位为零的几率则很大。因此并发度不高的应用生成偶数主键的几率会更高。
在 3.1.0 版本中,尾数大多为偶数的问题已彻底解决,参见:https://github.com/apache/shardingsphere/issues/1617</p>
<h3 id="分片-如何在-inline-分表策略时允许执行范围查询操作between-and">[分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN AND、&gt;、&lt;、&gt;=、&lt;=)?</h3>
<p>回答:</p>
<ol>
<li>需要使用 4.1.0 或更高版本。</li>
<li>调整以下配置项(需要注意的是,此时所有的范围查询将会使用广播的方式查询每一个分表):</li>
</ol>
<ul>
<li>4.x 版本:<code>allow.range.query.with.inline.sharding</code> 设置为 true 即可(默认为 false)。</li>
<li>5.x 版本:在 InlineShardingStrategy 中将 <code>allow-range-query-with-inline-sharding</code> 设置为 true 即可(默认为 false)。</li>
</ul>
<h3 id="分片-为什么我实现了-keygeneratealgorithm-接口也配置了-type但是自定义的分布式主键依然不生效">[分片] 为什么我实现了 <code>KeyGenerateAlgorithm</code> 接口,也配置了 Type,但是自定义的分布式主键依然不生效?</h3>
<p>回答:</p>
<p><a href="https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html">Service Provider Interface (SPI)</a> 是一种为了被第三方实现或扩展的 API,除了实现接口外,还需要在 META-INF/services 中创建对应文件来指定 SPI 的实现类,JVM 才会加载这些服务。
具体的 SPI 使用方式,请大家自行搜索。
与分布式主键 <code>KeyGenerateAlgorithm</code> 接口相同,其他 ShardingSphere 的<a href="https://shardingsphere.apache.org/document/current/cn/concepts/pluggable/">扩展功能</a>也需要用相同的方式注入才能生效。</p>
<h3 id="分片-shardingsphere-除了支持自带的分布式自增主键之外还能否支持原生的自增主键">[分片] ShardingSphere 除了支持自带的分布式自增主键之外,还能否支持原生的自增主键?</h3>
<p>回答:</p>
<p>是的,可以支持。但原生自增主键有使用限制,即不能将原生自增主键同时作为分片键使用。
由于 ShardingSphere 并不知晓数据库的表结构,而原生自增主键是不包含在原始 SQL 中内的,因此 ShardingSphere 无法将该字段解析为分片字段。如自增主键非分片键,则无需关注,可正常返回;若自增主键同时作为分片键使用,ShardingSphere 无法解析其分片值,导致 SQL 路由至多张表,从而影响应用的正确性。
而原生自增主键返回的前提条件是 INSERT SQL 必须最终路由至一张表,因此,面对返回多表的 INSERT SQL,自增主键则会返回零。</p>
<h2 id="数据加密">数据加密</h2>
<h3 id="数据加密-jpa-和-数据加密无法一起使用如何解决">[数据加密] JPA 和 数据加密无法一起使用,如何解决?</h3>
<p>回答:</p>
<p>由于数据加密的 DDL 尚未开发完成,因此对于自动生成 DDL 语句的 JPA 与 数据加密一起使用时,会导致 JPA 的实体类(Entity)无法同时满足 DDL 和 DML 的情况。
解决方案如下:</p>
<ol>
<li>以需要加密的逻辑列名编写 JPA 的实体类(Entity)。</li>
<li>关闭 JPA 的 auto-ddl,如 auto-ddl=none。</li>
<li>手动建表,建表时应使用数据加密配置的 <code>cipherColumn</code>,<code>plainColumn</code><code>assistedQueryColumn</code> 代替逻辑列。</li>
</ol>
<h2 id="distsql">DistSQL</h2>
<h3 id="distsql-使用-distsql-添加数据源时如何设置自定义的-jdbc-连接参数或连接池属性">[DistSQL] 使用 DistSQL 添加数据源时,如何设置自定义的 JDBC 连接参数或连接池属性?</h3>
<p>回答:</p>
<ol>
<li>如需自定义 JDBC 参数,请使用 <code>urlSource</code> 的方式定义 <code>dataSource</code></li>
<li>ShardingSphere 预置了必要的连接池参数,如 <code>maxPoolSize</code><code>idleTimeout</code> 等。如需增加或覆盖参数配置,请在 <code>dataSource</code> 中通过 <code>PROPERTIES</code> 指定。</li>
<li>以上规则请参考 <a href="https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/">相关介绍</a></li>
</ol>
<h3 id="distsql-使用-distsql-删除资源时出现-resource-xxx-is-still-used-by-singletablerule">[DistSQL] 使用 <code>DistSQL</code> 删除资源时,出现 <code>Resource [xxx] is still used by [SingleTableRule]</code></h3>
<p>回答:</p>
<ol>
<li>被规则引用的资源将无法被删除。</li>
<li>若资源只被 single table rule 引用,且用户确认可以忽略该限制,则可以添加可选参数 ignore single tables 进行强制删除。</li>
</ol>
<h3 id="distsql-使用-distsql-添加资源时出现-failed-to-get-driver-instance-for-jdbcurlxxx">[DistSQL] 使用 <code>DistSQL</code> 添加资源时,出现 <code>Failed to get driver instance for jdbcURL=xxx</code></h3>
<p>回答:</p>
<p>ShardingSphere-Proxy 在部署过程中没有添加 jdbc 驱动,需要将 jdbc 驱动放入 ShardingSphere-Proxy 解压后的 ext-lib 目录,例如:<code>mysql-connector</code></p>
<h2 id="其他">其他</h2>
<h3 id="其他-如果-sql-在-shardingsphere-中执行不正确该如何调试">[其他] 如果 SQL 在 ShardingSphere 中执行不正确,该如何调试?</h3>
<p>回答:</p>
<p>在 ShardingSphere-Proxy 以及 ShardingSphere-JDBC 1.5.0 版本之后提供了 <code>sql.show</code> 的配置,可以将解析上下文和改写后的 SQL 以及最终路由至的数据源的细节信息全部打印至 info 日志。
<code>sql.show</code> 配置默认关闭,如果需要请通过配置开启。</p>
<blockquote>
<p>注意:5.x版本以后,<code>sql.show</code> 参数调整为 <code>sql-show</code></p>
</blockquote>
<h3 id="其他-阅读源码时为什么会出现编译错误-idea-不索引生成的代码">[其他] 阅读源码时为什么会出现编译错误? IDEA 不索引生成的代码?</h3>
<p>回答:</p>
<p>ShardingSphere 使用 lombok 实现极简代码。关于更多使用和安装细节,请参考 <a href="https://projectlombok.org/download.html">lombok官网</a>
<code>org.apache.shardingsphere.sql.parser.autogen</code> 包下的代码由 ANTLR 生成,可以执行以下命令快速生成:</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-bash" data-lang="bash">./mvnw -Dcheckstyle.skip<span style="color:#f92672">=</span>true -Drat.skip<span style="color:#f92672">=</span>true -Dmaven.javadoc.skip<span style="color:#f92672">=</span>true -Djacoco.skip<span style="color:#f92672">=</span>true -DskipITs -DskipTests install -T1C
</code></pre></div><p>生成的代码例如 <code>org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser</code> 等 Java 文件由于较大,默认配置的 IDEA 可能不会索引该文件。
可以调整 IDEA 的属性:<code>idea.max.intellisense.filesize=10000</code></p>
<h3 id="其他-使用-sqlsever-和-postgresql-时聚合列不加别名会抛异常">[其他] 使用 SQLSever 和 PostgreSQL 时,聚合列不加别名会抛异常?</h3>
<p>回答:</p>
<p>SQLServer 和 PostgreSQL 获取不加别名的聚合列会改名。例如,如下 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">SUM</span>(num), <span style="color:#66d9ef">SUM</span>(num2) <span style="color:#66d9ef">FROM</span> tablexxx;
</code></pre></div><p>SQLServer 获取到的列为空字符串和(2),PostgreSQL 获取到的列为空 sum 和 sum(2)。这将导致 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">SELECT</span> <span style="color:#66d9ef">SUM</span>(num) <span style="color:#66d9ef">AS</span> sum_num, <span style="color:#66d9ef">SUM</span>(num2) <span style="color:#66d9ef">AS</span> sum_num2 <span style="color:#66d9ef">FROM</span> tablexxx;
</code></pre></div><h3 id="其他-oracle-数据库使用-timestamp-类型的-order-by-语句抛出异常提示-order-by-value-must-implements-comparable">[其他] Oracle 数据库使用 Timestamp 类型的 Order By 语句抛出异常提示 “Order by value must implements Comparable”?</h3>
<p>回答:</p>
<p>针对上面问题解决方式有两种:</p>
<ol>
<li>配置启动 JVM 参数 “-oracle.jdbc.J2EE13Compliant=true”</li>
<li>通过代码在项目初始化时设置 System.getProperties().setProperty(&ldquo;oracle.jdbc.J2EE13Compliant&rdquo;, &ldquo;true&rdquo;);
原因如下:
<code>org.apache.shardingsphere.sharding.merge.dql.orderby.OrderByValue#getOrderValues()</code> 方法如下:</li>
</ol>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-java" data-lang="java"> <span style="color:#66d9ef">private</span> List<span style="color:#f92672">&lt;</span>Comparable<span style="color:#f92672">&lt;?&gt;&gt;</span> getOrderValues<span style="color:#f92672">()</span> <span style="color:#66d9ef">throws</span> SQLException <span style="color:#f92672">{</span>
List<span style="color:#f92672">&lt;</span>Comparable<span style="color:#f92672">&lt;?&gt;&gt;</span> result <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ArrayList<span style="color:#f92672">&lt;&gt;(</span>orderByItems<span style="color:#f92672">.</span><span style="color:#a6e22e">size</span><span style="color:#f92672">());</span>
<span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span>OrderItem each <span style="color:#f92672">:</span> orderByItems<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
Object value <span style="color:#f92672">=</span> resultSet<span style="color:#f92672">.</span><span style="color:#a6e22e">getObject</span><span style="color:#f92672">(</span>each<span style="color:#f92672">.</span><span style="color:#a6e22e">getIndex</span><span style="color:#f92672">());</span>
Preconditions<span style="color:#f92672">.</span><span style="color:#a6e22e">checkState</span><span style="color:#f92672">(</span><span style="color:#66d9ef">null</span> <span style="color:#f92672">==</span> value <span style="color:#f92672">||</span> value <span style="color:#66d9ef">instanceof</span> Comparable<span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;Order by value must implements Comparable&#34;</span><span style="color:#f92672">);</span>
result<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">((</span>Comparable<span style="color:#f92672">&lt;?&gt;)</span> value<span style="color:#f92672">);</span>
<span style="color:#f92672">}</span>
<span style="color:#66d9ef">return</span> result<span style="color:#f92672">;</span>
<span style="color:#f92672">}</span>
</code></pre></div><p>使用了 resultSet.getObject(int index) 方法,针对 TimeStamp oracle 会根据 oracle.jdbc.J2EE13Compliant 属性判断返回 java.sql.TimeStamp 还是自定义 oralce.sql.TIMESTAMP
详见 ojdbc 源码 oracle.jdbc.driver.TimestampAccessor#getObject(int var1) 方法:</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-java" data-lang="java"> Object <span style="color:#a6e22e">getObject</span><span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> var1<span style="color:#f92672">)</span> <span style="color:#66d9ef">throws</span> SQLException <span style="color:#f92672">{</span>
Object var2 <span style="color:#f92672">=</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">;</span>
<span style="color:#66d9ef">if</span><span style="color:#f92672">(</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">rowSpaceIndicator</span> <span style="color:#f92672">==</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
DatabaseError<span style="color:#f92672">.</span><span style="color:#a6e22e">throwSqlException</span><span style="color:#f92672">(</span>21<span style="color:#f92672">);</span>
<span style="color:#f92672">}</span>
<span style="color:#66d9ef">if</span><span style="color:#f92672">(</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">rowSpaceIndicator</span><span style="color:#f92672">[</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">indicatorIndex</span> <span style="color:#f92672">+</span> var1<span style="color:#f92672">]</span> <span style="color:#f92672">!=</span> <span style="color:#f92672">-</span>1<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
<span style="color:#66d9ef">if</span><span style="color:#f92672">(</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">externalType</span> <span style="color:#f92672">!=</span> 0<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
<span style="color:#66d9ef">switch</span><span style="color:#f92672">(</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">externalType</span><span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
<span style="color:#66d9ef">case</span> 93<span style="color:#f92672">:</span>
<span style="color:#66d9ef">return</span> <span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">getTimestamp</span><span style="color:#f92672">(</span>var1<span style="color:#f92672">);</span>
<span style="color:#66d9ef">default</span><span style="color:#f92672">:</span>
DatabaseError<span style="color:#f92672">.</span><span style="color:#a6e22e">throwSqlException</span><span style="color:#f92672">(</span>4<span style="color:#f92672">);</span>
<span style="color:#66d9ef">return</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">;</span>
<span style="color:#f92672">}</span>
<span style="color:#f92672">}</span>
<span style="color:#66d9ef">if</span><span style="color:#f92672">(</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">statement</span><span style="color:#f92672">.</span><span style="color:#a6e22e">connection</span><span style="color:#f92672">.</span><span style="color:#a6e22e">j2ee13Compliant</span><span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
var2 <span style="color:#f92672">=</span> <span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">getTimestamp</span><span style="color:#f92672">(</span>var1<span style="color:#f92672">);</span>
<span style="color:#f92672">}</span> <span style="color:#66d9ef">else</span> <span style="color:#f92672">{</span>
var2 <span style="color:#f92672">=</span> <span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">getTIMESTAMP</span><span style="color:#f92672">(</span>var1<span style="color:#f92672">);</span>
<span style="color:#f92672">}</span>
<span style="color:#f92672">}</span>
<span style="color:#66d9ef">return</span> var2<span style="color:#f92672">;</span>
<span style="color:#f92672">}</span>
</code></pre></div><h3 id="其他-windows-环境下通过-git-克隆-shardingsphere-源码时为什么提示文件名过长如何解决">[其他] Windows 环境下,通过 Git 克隆 ShardingSphere 源码时为什么提示文件名过长,如何解决?</h3>
<p>回答:</p>
<p>为保证源码的可读性,ShardingSphere 编码规范要求类、方法和变量的命名要做到顾名思义,避免使用缩写,因此可能导致部分源码文件命名较长。由于 Windows 版本的 Git 是使用 msys 编译的,它使用了旧版本的 Windows Api,限制文件名不能超过 260 个字符。
解决方案如下:
打开 cmd.exe(你需要将 git 添加到环境变量中)并执行下面的命令,可以让 git 支持长文件名:</p>
<pre><code>git config --global core.longpaths true
</code></pre><p>如果是 Windows 10,还需要通过注册表或组策略,解除操作系统的文件名长度限制(需要重启):</p>
<blockquote>
<p>在注册表编辑器中创建 <code>HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled</code>, 类型为 <code>REG_DWORD</code>,并设置为1。
或者从系统菜单点击设置图标,输入“编辑组策略”, 然后在打开的窗口依次进入“计算机管理” &gt; “管理模板” &gt; “系统” &gt; “文件系统”,在右侧双击“启用 win32 长路径”。
参考资料:
<a href="https://docs.microsoft.com/zh-cn/windows/desktop/FileIO/naming-a-file">https://docs.microsoft.com/zh-cn/windows/desktop/FileIO/naming-a-file</a>
<a href="https://ourcodeworld.com/articles/read/109/how-to-solve-filename-too-long-error-in-git-powershell-and-github-application-for-windows">https://ourcodeworld.com/articles/read/109/how-to-solve-filename-too-long-error-in-git-powershell-and-github-application-for-windows</a></p>
</blockquote>
<h3 id="其他-type-is-required-异常的解决方法">[其他] Type is required 异常的解决方法?</h3>
<p>回答:</p>
<p>ShardingSphere 中很多功能实现类的加载方式是通过 <a href="https://shardingsphere.apache.org/document/current/cn/concepts/pluggable/">SPI</a> 注入的方式完成的,如分布式主键,注册中心等;这些功能通过配置中 type 类型来寻找对应的 SPI 实现,因此必须在配置文件中指定类型。</p>
<h3 id="其他-服务启动时如何加快-metadata-加载速度">[其他] 服务启动时如何加快 <code>metadata</code> 加载速度?</h3>
<p>回答:</p>
<ol>
<li>升级到 <code>4.0.1</code> 以上的版本,以提高 metadata 的加载速度。</li>
<li>参照你采用的连接池,将:</li>
</ol>
<ul>
<li>配置项 <code>max.connections.size.per.query</code>(默认值为1)调高(版本 &gt;= 3.0.0.M3 且低于 5.0.0)。</li>
<li>配置项 <code>max-connections-size-per-query</code>(默认值为1)调高(版本 &gt;= 5.0.0)。</li>
</ul>
<h3 id="其他-antlr-插件在-src-同级目录下生成代码容易误提交如何避免">[其他] ANTLR 插件在 src 同级目录下生成代码,容易误提交,如何避免?</h3>
<p>回答:</p>
<p>进入 <a href="jetbrains://idea/settings?name=Languages+%26+Frameworks--ANTLR+v4+default+project+settings">Settings -&gt; Languages &amp; Frameworks -&gt; ANTLR v4 default project settings</a> 配置生成代码的输出目录为 <code>target/gen</code>,如图:
<img src="https://shardingsphere.apache.org/document/current/img/faq/configure-antlr-plugin.png" alt="Configure ANTLR plugin"></p>
<h3 id="其他-使用-proxool-时分库结果不正确">[其他] 使用 <code>Proxool</code> 时分库结果不正确?</h3>
<p>回答:</p>
<p>使用 Proxool 配置多个数据源时,应该为每个数据源设置 alias,因为 Proxool 在获取连接时会判断连接池中是否包含已存在的 alias,不配置 alias 会造成每次都只从一个数据源中获取连接。
以下是 Proxool 源码中 ProxoolDataSource 类 getConnection 方法的关键代码:</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-java" data-lang="java"> <span style="color:#66d9ef">if</span><span style="color:#f92672">(!</span>ConnectionPoolManager<span style="color:#f92672">.</span><span style="color:#a6e22e">getInstance</span><span style="color:#f92672">().</span><span style="color:#a6e22e">isPoolExists</span><span style="color:#f92672">(</span><span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">alias</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
<span style="color:#66d9ef">this</span><span style="color:#f92672">.</span><span style="color:#a6e22e">registerPool</span><span style="color:#f92672">();</span>
<span style="color:#f92672">}</span>
</code></pre></div><p>更多关于 alias 使用方法请参考 <a href="http://proxool.sourceforge.net/configure.html">Proxool官网</a>
PS:sourceforge 网站需要翻墙访问。</p>
<h3 id="其他-使用-spring-boot-2x-集成-shardingsphere-时配置文件中的属性设置不生效">[其他] 使用 Spring Boot 2.x 集成 ShardingSphere 时,配置文件中的属性设置不生效?</h3>
<p>回答:</p>
<p>需要特别注意,Spring Boot 2.x 环境下配置文件的属性名称约束为仅允许小写字母、数字和短横线,即 <code>[a-z][0-9]</code><code>-</code>
原因如下:
Spring Boot 2.x 环境下,ShardingSphere 通过 Binder 来绑定配置文件,属性名称不规范(如:驼峰或下划线等)会导致属性设置不生效从而校验属性值时抛出 <code>NullPointerException</code> 异常。参考以下错误示例:
下划线示例:database_inline</p>
<pre><code>spring.shardingsphere.rules.sharding.sharding-algorithms.database_inline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.database_inline.props.algorithm-expression=ds-$-&gt;{user_id % 2}
</code></pre><pre><code>Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'database_inline': Initialization of bean failed; nested exception is java.lang.NullPointerException: Inline sharding algorithm expression cannot be null.
...
Caused by: java.lang.NullPointerException: Inline sharding algorithm expression cannot be null.
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:897)
at org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm.getAlgorithmExpression(InlineShardingAlgorithm.java:58)
at org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm.init(InlineShardingAlgorithm.java:52)
at org.apache.shardingsphere.spring.boot.registry.AbstractAlgorithmProvidedBeanRegistry.postProcessAfterInitialization(AbstractAlgorithmProvidedBeanRegistry.java:98)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:431)
...
</code></pre><p>驼峰示例:databaseInline</p>
<pre><code>spring.shardingsphere.rules.sharding.sharding-algorithms.databaseInline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.databaseInline.props.algorithm-expression=ds-$-&gt;{user_id % 2}
</code></pre><pre><code>Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'databaseInline': Initialization of bean failed; nested exception is java.lang.NullPointerException: Inline sharding algorithm expression cannot be null.
...
Caused by: java.lang.NullPointerException: Inline sharding algorithm expression cannot be null.
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:897)
at org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm.getAlgorithmExpression(InlineShardingAlgorithm.java:58)
at org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm.init(InlineShardingAlgorithm.java:52)
at org.apache.shardingsphere.spring.boot.registry.AbstractAlgorithmProvidedBeanRegistry.postProcessAfterInitialization(AbstractAlgorithmProvidedBeanRegistry.java:98)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:431)
...
</code></pre><p>从异常堆栈中分析可知: <code>AbstractAlgorithmProvidedBeanRegistry.registerBean</code> 方法调用 <code>PropertyUtil.containPropertyPrefix(environment, prefix)</code> 方法判断指定前缀 <code>prefix</code> 的配置是否存在,而 <code>PropertyUtil.containPropertyPrefix(environment, prefix)</code> 方法,在 Spring Boot 2.x 环境下使用了 Binder,不规范的属性名称(如:驼峰或下划线等)会导致属性设置不生效。</p>
<footer class=" footline" >
</footer>
</div>
</div>
</div>
<div id="navigation" >
<a class="nav nav-prev" href="https://shardingsphere.apache.org/document/current/cn/reference/architecture/" 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/downloads/" 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?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/perfect-scrollbar.min.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/perfect-scrollbar.jquery.min.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/jquery.sticky.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/featherlight.min.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/html5shiv-printshiv.min.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/highlight.pack.js?1660280481"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://shardingsphere.apache.org/document/current/js/modernizr.custom.71422.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/learn.js?1660280481"></script>
<script src="https://shardingsphere.apache.org/document/current/js/hugo-learn.js?1660280481"></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>