{"id":10006389,"date":"2022-09-02T23:50:55","date_gmt":"2022-09-02T15:50:55","guid":{"rendered":"https:\/\/ityet.com\/?p=10006389"},"modified":"2022-09-02T23:50:55","modified_gmt":"2022-09-02T15:50:55","slug":"tidb%e3%80%81oceanbase%e3%80%81polardb-x%e3%80%81cockroachdb%e4%ba%8c%e7%ba%a7%e7%b4%a2%e5%bc%95%e5%86%99%e5%85%a5%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%84","status":"publish","type":"post","link":"https:\/\/itmax.cn\/?p=10006389","title":{"rendered":"TiDB\u3001OceanBase\u3001PolarDB-X\u3001CockroachDB\u4e8c\u7ea7\u7d22\u5f15\u5199\u5165\u6027\u80fd\u6d4b\u8bc4"},"content":{"rendered":"<p>\u7b80\u4ecb\uff1a\u00a0\u4e8c\u7ea7\u7d22\u5f15\u662f\u5173\u7cfb\u578b\u6570\u636e\u5e93\u76f8\u8f83\u4e8eNoSQL\u6570\u636e\u5e93\u7684\u4e00\u4e2a\u5173\u952e\u5dee\u5f02\u3002\u4e8c\u7ea7\u7d22\u5f15\u5fc5\u987b\u662f\u5f3a\u4e00\u81f4\u7684\uff0c\u56e0\u6b64\u7d22\u5f15\u7684\u5199\u5165\u9700\u8981\u4e0e\u4e3b\u952e\u7684\u5199\u5165\u653e\u5728\u4e00\u4e2a\u4e8b\u52a1\u5f53\u4e2d\uff0c\u4e8b\u52a1\u7684\u6027\u80fd\u662f\u4e8c\u7ea7\u7d22\u5f15\u6027\u80fd\u7684\u57fa\u7840\u3002\u672c\u6b21\u6d4b\u8bd5\u5c06\u91cd\u70b9\u5173\u6ce8\u4e0d\u540c\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u7684\u7d22\u5f15\u6027\u80fd\uff0c\u7279\u522b\u5173\u6ce8\u4e1a\u5185\u5168\u5c40\u7d22\u5f15\u7684\u6027\u80fd\u4e0eMySQL\u7d22\u5f15\u7684\u6027\u80fd\u5dee\u5f02\u3002\u4e3a\u4ec0\u4e48\u8981\u505a\u8fd9\u4e2a\u6d4b\u8bd5\u4e8c\u7ea7\u7d22\u5f15\u662f\u5173\u7cfb\u578b\u6570\u636e\u5e93\u76f8\u8f83\u4e8eNoSQL\u6570\u636e\u5e93\u7684\u4e00\u4e2a\u5173\u952e\u5dee\u5f02\u3002\u4e8c\u7ea7\u7d22\u5f15\u5fc5\u987b\u662f\u5f3a\u4e00\u81f4\u7684\uff0c\u56e0\u6b64\u7d22\u5f15\u7684\u5199\u5165\u9700\u8981\u4e0e\u4e3b\u952e\u7684\u5199\u5165\u653e\u5728\u4e00\u4e2a\u4e8b\u52a1\u5f53\u4e2d\uff0c\u4e8b\u52a1\u7684\u6027\u80fd\u662f\u4e8c\u7ea7\u7d22\u5f15\u6027\u80fd\u7684\u57fa\u7840\u3002\u76ee\u524d\u5e02\u9762\u4e0a\u7684\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u4e2d\uff0c\u4ece\u4f7f\u7528\u4f53\u9a8c\u7684\u89d2\u5ea6\u770b\u4e3b\u6d41\u6709\u51e0\u79cd\u5f62\u6001\uff1a\u4ee5TiDB\u3001CockroachDB\u7b49\u4e3a\u4ee3\u8868\u7684\u7eaf\u900f\u660e\u7684\u7528\u6cd5\u3002\u4ece\u8868\u73b0\u4e0a\u6765\u770b\uff0c\u8be5\u79cd\u7c7b\u578b\u7684\u6570\u636e\u5e93\u6240\u6709\u8868\u90fd\u662f\u5206\u5e03\u5f0f\u8868\uff0c\u5e76\u4e14\u4e0d\u9700\u8981\u6307\u5b9a\u5206\u533a\u952e\uff0c\u5176\u6838\u5fc3\u903b\u8f91\u662f\u4f7f\u7528\u5206\u5e03\u5f0f\u4e8b\u52a1\u6765\u7ef4\u62a4\u5168\u5c40\u7d22\u5f15\uff0c\u5e76\u4f7f\u7528\u5168\u5c40\u7d22\u5f15\u5b8c\u5168\u66ff\u4ee3\u5355\u673a\u6570\u636e\u5e93\u4e2d\u7684\u4e8c\u7ea7\u7d22\u5f15\u3002\u4ee5OceanBase\u7b49\u4e3a\u4ee3\u8868\u7684\u7eaf\u624b\u52a8\u7684\u7528\u6cd5\u3002\u4ece\u8868\u73b0\u4e0a\u770b\uff0c\u8be5\u79cd\u7c7b\u578b\u7684\u6570\u636e\u5e93\u5728\u4e0d\u6307\u5b9a\u5206\u533a\u952e\u7684\u60c5\u51b5\u4e0b\uff0c\u662f\u4ee5\u5355\u8868\u7684\u5f62\u5f0f\u5b58\u5728\u7684\uff0c\u4e0d\u5177\u5907\u6269\u5c55\u6027\uff1b\u521b\u5efa\u5206\u5e03\u5f0f\u8868\u9700\u8981\u4f7f\u7528\u7c7b\u4f3c\u5206\u533a\u8868\u7684\u8bed\u6cd5\u3002\u6b64\u7c7b\u578b\u7684\u6570\u636e\u5e93\u4e00\u822c\u4e5f\u63d0\u4f9b\u5168\u5c40\u7d22\u5f15\u7684\u80fd\u529b\uff08\u4e0d\u63d0\u4f9b\u7684\u6211\u4eec\u4e00\u822c\u79f0\u4e4b\u4e3a\u4e2d\u95f4\u4ef6\u800c\u4e0d\u662f\u6570\u636e\u5e93\uff09\u3002\u4f46\u4e0e\u7b2c\u4e00\u7c7b\u4e0d\u540c\uff0c\u5b83\u4eec\u4e00\u822c\u4f1a\u5c06\u5168\u5c40\u7d22\u5f15\u4f5c\u4e3a\u4e00\u4e2a\u53ef\u9009\u9879\uff0c\u7531\u7528\u6237\u624b\u52a8\u7684\u6307\u5b9a\u4e0e\u521b\u5efa\u3002\u6b64\u5916\uff0c\u4ed6\u4eec\u8fd8\u4f1a\u63d0\u4f9b\u57fa\u4e8e\u5355\u673a\u4e8b\u52a1\u5b9e\u73b0\u7684\u672c\u5730\u7d22\u5f15\uff08\u672c\u5730\u7d22\u5f15\uff09\u3002\u540c\u65f6\u63d0\u4f9b\u4ee5\u4e0a\u4e24\u79cd\u7528\u6cd5\u7684PolarDB-X\u3002\u5728\u4e0d\u6307\u5b9a\u5206\u533a\u952e\u7684\u60c5\u51b5\u4e0b\uff0c\u4e0e\u7b2c\u4e00\u7c7b\u6570\u636e\u5e93\u7c7b\u4f3c\uff0c\u4f7f\u7528\u5206\u5e03\u5f0f\u8868+\u5168\u5c40\u7d22\u5f15\u6765\u63d0\u4f9b\u900f\u660e\u7684\u5206\u5e03\u5f0f\u4f53\u9a8c\uff1b\u4e5f\u5141\u8bb8\u624b\u52a8\u6307\u5b9a\u5206\u533a\u952e\uff0c\u4f7f\u7528\u672c\u5730\u7d22\u5f15\u7b49\u6280\u672f\u63d0\u5347\u6027\u80fd\u3002\u5728\u4e4b\u524d\u7684\u6587\u7ae0\u4e2d\u300aPolarDB-X \u6570\u636e\u5206\u5e03\u89e3\u8bfb\uff08\u56db\uff09 \uff1a\u900f\u660e vs \u624b\u52a8\u300b\uff0c\u6211\u4eec\u63d0\u51fa\uff1a\u900f\u660e\uff08\u81ea\u52a8\uff09\u7684\u6613\u7528\u6027\u51b3\u5b9a\u4e86\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u7684\u4f7f\u7528\u4e0b\u9650\uff0c\u4f46\u6027\u80fd\u4e0a\u662f\u6709\u66f4\u9ad8\u7684\u6210\u672c\u4ee3\u4ef7\u624b\u52a8\u80fd\u591f\u63d0\u4f9b\u6700\u4f18\u7684\u6027\u80fd\uff0c\u4f46\u4f7f\u7528\u95e8\u69db\u4f1a\u6709\u6240\u589e\u52a0\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u9700\u8981\u4e3a\u5927\u591a\u6570\u573a\u666f\u63d0\u4f9b\u80fd\u591f\u900f\u660e\u4f7f\u7528\u7684\u80fd\u529b\uff0c\u4e5f\u8981\u4e3a\u5c11\u6570\u6027\u80fd\u8981\u6c42\u9ad8\u7684\u573a\u666f\u63d0\u4f9b\u624b\u52a8\u8c03\u4f18\u6d88\u9664\u5206\u5e03\u5f0f\u4e8b\u52a1\u7684\u80fd\u529b\u3002\u8fd9\u4e2a\u89c2\u70b9\u7684\u91cd\u8981\u4f9d\u636e\u662f\uff0c\u7eaf\u900f\u660e\u7684\u6a21\u5f0f\u672c\u8d28\u4e0a\u662f\u4f7f\u7528\u5206\u5e03\u5f0f\u4e8b\u52a1+\u5168\u5c40\u7d22\u5f15\u6765\u66ff\u4ee3\u5355\u673a\u6570\u636e\u5e93\u4e2d\u7684\u4e8b\u52a1+\u7d22\u5f15\uff0c\u800c\u5206\u5e03\u5f0f\u4e8b\u52a1+\u5168\u5c40\u7d22\u5f15\u4e0e\u5355\u673a\u4e8b\u52a1+\u7d22\u5f15\u5b58\u5728\u8f83\u5927\u7684\u6027\u80fd\u5dee\u5f02\u3002\u672c\u6b21\u6d4b\u8bd5\u5c06\u91cd\u70b9\u5173\u6ce8\u4e0d\u540c\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u7684\u7d22\u5f15\u6027\u80fd\uff0c\u7279\u522b\u5173\u6ce8\u4e1a\u5185\u5168\u5c40\u7d22\u5f15\u7684\u6027\u80fd\u4e0eMySQL\u7d22\u5f15\u7684\u6027\u80fd\u5dee\u5f02\u3002\u672c\u6b21\u6d4b\u8bd5\u7684\u4ea7\u54c1\u5305\u62ecTiDB\u3001OB\u3001PolarDB-X\u3001CockroachDB\uff0c\u9009\u53d6\u8fd9\u51e0\u4e2a\u6570\u636e\u5e93\u6709\u4ee5\u4e0b\u539f\u56e0\uff1a\u4ed6\u4eec\u90fd\u63d0\u4f9b\u4e86\u5f3a\u4e00\u81f4\u7684\u5168\u5c40\u7d22\u5f15\u80fd\u529b\uff0c\u662f\u6570\u636e\u5e93\u800c\u4e0d\u662f\u4e2d\u95f4\u4ef6\u3002\u90fd\u6709\u5f00\u6e90\uff0c\u5e76\u4e14\u90fd\u6709\u4e91\u4ea7\u54c1\u63d0\u4f9b\uff0c\u5386\u53f2\u4e5f\u90fd\u6bd4\u8f83\u60a0\u4e45\uff0c\u8d44\u6599\u6bd4\u8f83\u591a\uff0c\u4e0d\u662fPPT\u6570\u636e\u5e93\uff0c\u5bb9\u6613\u641e\u6e05\u695a\u5185\u90e8\u7684\u539f\u7406\u3002\u90fd\u662f\u4e3b\u8981\u9762\u5411OLTP\u7684\u6570\u636e\u5e93\u3002\u6b64\u5916\u6211\u4eec\u4e5f\u6d4b\u8bd5\u4e86MySQL\u7684\u7d22\u5f15\u6027\u80fd\u4f5c\u4e3a\u5bf9\u6bd4\u3002\u6d4b\u8bd5\u65b9\u6cd5\u7531\u4e8e\u786c\u4ef6\u914d\u7f6e\uff08\u6bd4\u5982OB\u7528\u4e866\u53f0\u673a\u5668\uff08\u5e76\u4e14\u79df\u6237\u8bbe\u7f6e\u4e0a\u5e76\u6ca1\u6709\u5360\u6ee1\u6574\u4e2a\u673a\u5668\uff09\uff0cTiDB\u548cTiKV\u7528\u4e865\u53f0\uff0cPolarDB-X\u548cMySQL\u662f\u76f4\u63a5\u516c\u5171\u4e91\u8d2d\u4e70\u7684\u7b49\uff09\u3001\u7cfb\u7edf\u53c2\u6570\u7b49\u7b49\uff0c\u5bf9\u4e8e\u6bcf\u4e2a\u6570\u636e\u5e93\u6765\u8bf4\uff0c\u4e0d\u662f\u5b8c\u5168\u76f8\u540c\uff0c\u4e5f\u4e0d\u4e00\u5b9a\u662f\u6700\u4f18\u7684\uff0c\u6240\u4ee5\u76f4\u63a5\u5bf9\u6bd4TPS\u662f\u6ca1\u6709\u610f\u4e49\u7684\u3002\u6211\u4eec\u4f1a\u5c06\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c\u4e0d\u5e26\u7d22\u5f15\u60c5\u51b5\u4e0b\uff0cTPS\u80fd\u591f\u8fbe\u5230\u7684\u5cf0\u503c\u4f5c\u4e3a\u57fa\u7ebf\uff08100%\uff09\uff0c\u6bd4\u8f83\u4e0d\u540c\u7d22\u5f15\u6570\u76ee\u7684\u6027\u80fd\u76f8\u5bf9\u4e8e\u57fa\u7ebf\u7684\u767e\u5206\u6bd4\u3002\u4f8b\u5982\uff0c\u4ea7\u54c1A\u4e0d\u5e26\u7d22\u5f15\u80fd\u8dd1\u523010W\u7684TPS\uff0c\u5e26\u4e00\u4e2a\u7d22\u5f15\u8dd1\u52305W\uff0c\u90a3\u6211\u4eec\u5c31\u8ba4\u4e3a\u5e26\u4e00\u4e2a\u7d22\u5f15\u7684\u60c5\u51b5\u4e0b\u662f\u57fa\u7ebf\u768450%\u3002\u8fd9\u4e2a\u767e\u5206\u6bd4\u6211\u4eec\u4e0d\u59a8\u79f0\u4e4b\u4e3aTPS\u767e\u5206\u6bd4\u3002\u5728\u4ea7\u54c1\u4e4b\u95f4\u7684\u6a2a\u5411\u5bf9\u6bd4\u4e2d\uff0c\u6211\u4eec\u4f1a\u5bf9\u6bd4\u76f8\u540c\u7d22\u5f15\u6570\u76ee\u4e0b\u7684TPS\u767e\u5206\u6bd4\uff0c\u800c\u4e0d\u662fTPS\u7684\u7edd\u5bf9\u503c\u3002\u5728\u6d4b\u8bd5TPS\u767e\u5206\u6bd4\u7684\u65f6\u5019\uff0c\u6211\u4eec\u4f1a\u8c03\u6574\u5e76\u53d1\u5ea6\uff0c\u6765\u627e\u5230\u80fd\u591f\u8fbe\u5230\u6700\u5927TPS\u7684\u5e76\u53d1\u5ea6\uff0c\u5e76\u4ee5\u6700\u5927\u7684TPS\u6765\u8ba1\u7b97TPS\u767e\u5206\u6bd4\u3002\u9664\u4e86TPS\u767e\u5206\u6bd4\u4e4b\u5916\uff0c\u6211\u4eec\u8fd8\u4f1a\u6d4b\u8bd5\u6bcf\u4e2a\u4ea7\u54c1\u5728\u4e0d\u540c\u7d22\u5f15\u6570\u76ee\u60c5\u51b5\u4e0b\uff0c\u5355\u6b21\u5199\u5165\u7684RT\u3002\u5728RT\u6d4b\u8bd5\u4e2d\uff0c\u6211\u4eec\u4f1a\u7528\u5355\u7ebf\u7a0b\u6765\u8fdb\u884c\u5199\u5165\u3002\u672c\u6b21\u6d4b\u8bd5\u6211\u4eec\u53ea\u6d4b\u8bd5insert\u573a\u666f\uff0c\u8fd9\u662f\u7d22\u5f15\u5199\u5165\u7684\u6700\u57fa\u672c\u7684\u529f\u80fd\u4e86\u3002\u6211\u4eec\u4f7f\u7528sysbench\u7684oltp_insert.lua\u5236\u9020\u6d41\u91cf\u3002\u7531\u4e8e\u6211\u4eec\u8981\u6d4b\u8bd5\u591a\u4e2a\u7d22\u5f15\uff0c\u56e0\u6b64\u6211\u4eec\u5c06sysbench\u7684\u8868\u7ed3\u6784\u505a\u4e86\u4fee\u6539\uff0c\u4ee5MySQL\u4e3a\u4f8b\uff0c\u4fee\u6539\u5982\u4e0b\uff1aCREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL ,\n    `k1` int(11) NOT NULL ,\n    `k2` int(11) NOT NULL ,\n    `k3` int(11) NOT NULL ,\n    `k4` int(11) NOT NULL ,\n    `k5` int(11) NOT NULL ,\n    `k6` int(11) NOT NULL ,\n    `k7` int(11) NOT NULL ,\n    `k8` int(11) NOT NULL ,\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`)<\/code><\/pre>\n<p>);\u6211\u4eec\u5728\u8868\u4e2d\u589e\u52a0\u4e868\u4e2a\u5217\uff0c\u6839\u636e\u6d4b\u8bd5\u7684\u7d22\u5f15\u6570\u76ee\uff0c\u4f1a\u5728\u8fd9\u4e2a8\u4e2a\u5217\u4e0a\u521b\u5efa\u76f8\u5e94\u6570\u76ee\u7684\u4e8c\u7ea7\u7d22\u5f15\u3002\u540c\u65f6\u6211\u4eec\u8981\u4fee\u6539oltp_insert.lua\uff0c\u5728INSERT\u8bed\u53e5\u4e2d\u589e\u52a0\u8fd98\u4e2a\u5217\uff0c8\u4e2a\u5217\u7684\u503c\u968f\u673a\u751f\u6210\uff0c\u6ca1\u6709\u6709\u5e8f\u6027\uff0c\u907f\u514d\u5728\u57fa\u4e8erange\u8fdb\u884c\u5206\u533a\u7684\u6570\u636e\u5e93\uff08TiDB\u3001CockroachDB\uff09\u4e0a\u4ea7\u751f\u70ed\u70b9\uff1a  con:query(string.format(&#8220;INSERT INTO %s (id,k,k1,k2,k3,k4,k5,k6,k7,k8,c,pad) VALUES &#8221; ..<\/p>\n<pre><code>                             &quot;(%d, %d,%d,%d,%d,%d,%d,%d,%d,%d,'%s','%s')&quot;,\n                          table_name, i, k_val, sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),sysbench.rand.default(1, sysbench.opt.table_size),c_val, pad_val))\u7531\u4e8e\u4e0d\u540c\u6570\u636e\u5e93\u7684\u8bed\u6cd5\u3001\u7279\u6027\u7b49\u4e0d\u540c\uff08\u5f53\u7136\u8fd8\u6709\u4e00\u4e9b\u5751\uff09\uff0c\u6bcf\u4e2a\u6570\u636e\u5e93\u7684\u5efa\u8868\u8bed\u53e5\u53ef\u80fd\u4f1a\u505a\u4e00\u4e9b\u4fee\u6539\uff0c\u6bcf\u4e2a\u6570\u636e\u5e93\u6700\u7ec8\u4f7f\u7528\u7684\u5efa\u8868\u8bed\u53e5\u653e\u5728\u9644\u5f55\u4e2d\u3002\u8f6f\u786c\u4ef6\u73af\u5883\u672c\u6b21\u6d4b\u8bd5\u4f7f\u7528\u7684\u673a\u5668\u4f7f\u7528\u7684\u662f\u963f\u91cc\u4e91\u4e0a\u8d2d\u4e70\u7684ECS\uff0c\u89c4\u683c\u4e3aecs.i2g.8xlarge\uff1a<\/code><\/pre>\n<p><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425402\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u64cd\u4f5c\u7cfb\u7edf\u4e3a\u963f\u91cc\u4e91\u4e0a\u63d0\u4f9b\u7684CentOS 8.3\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425403\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u6240\u6709\u673a\u5668\u5747\u5728\u540c\u4e00\u4e2a\u5730\u57df\u7684\u540c\u4e00\u4e2a\u53ef\u7528\u533a\u5185\u3002\u6240\u6709\u6570\u636e\u5e93\u7684\u6570\u636e\u6587\u4ef6\u5747\u653e\u5728\u672c\u5730SSD\u4e2d\u3002\u6240\u6709\u6570\u636e\u5e93\u5747\u4f1a\u5728\u524d\u9762\u6302\u4e00\u4e2aSLB\u505a\u8d1f\u8f7d\u5747\u8861\u3002sysbench\u4f7f\u7528\u7684\u662f1.0.20\u7248\u672c\u3002\u6d4b\u8bd5\u7ed3\u679c<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425404\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u8fd9\u4e9b\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u5b9e\u73b0\u7684\u5168\u5c40\u7d22\u5f15\u4e2d\uff0c\u5373\u4f7f\u53ea\u67091\u4e2a\u7d22\u5f15\uff0c\u6027\u80fd\u4e5f\u90fd\u4f1a\u4e0b\u8dcc\u523030%\u4ee5\u4e0b\uff0c\u57288\u4e2a\u7d22\u5f15\u7684\u60c5\u51b5\u4e0b\uff0c\u6027\u80fd\u57fa\u672c\u90fd\u4f1a\u8dcc\u501210%\u4ee5\u4e0b\u3002\u800c\u50cfMySQL\u8fd9\u79cd\u5355\u673a\u6570\u636e\u5e93\uff0c8\u4e2a\u7d22\u5f15\u7684\u60c5\u51b5\u4e0b\uff0c\u6027\u80fd\u4f9d\u7136\u4fdd\u6301\u572885%\u4ee5\u4e0a\u3002\u5370\u8bc1\u4e86\u6211\u4eec\u5728\u300aPolarDB-X \u6570\u636e\u5206\u5e03\u89e3\u8bfb\uff08\u56db\uff09 \uff1a\u900f\u660e vs \u624b\u52a8\u300b \u63d0\u5230\u8fc7\u7684\u89c2\u70b9\u201c\u5206\u5e03\u5f0f\u4e8b\u52a1\u8ddf\u5355\u673a\u4e8b\u52a1\u76f8\u6bd4\uff0c\u5728\u6210\u672c\uff08\u6216\u8005\u8bf4\u6027\u80fd\uff09\u4e0a\u4f9d\u7136\u5b58\u5728\u4e0d\u53ef\u903e\u8d8a\u7684\u9e3f\u6c9f\uff0c\u8fd9\u4e2a\u5dee\u8ddd\u81f3\u5c11\u57283\u500d\u4ee5\u4e0a\u201d\u3002\u4f7f\u7528\u5168\u5c40\u7d22\u5f15\u66ff\u4ee3\u5355\u673a\u6570\u636e\u5e93\u7d22\u5f15\u4f1a\u5e26\u6765\u5f88\u9ad8\u7684\u6210\u672c\uff0c\u5728\u6210\u672c\u654f\u611f\u578b\u7684\u573a\u666f\u4e2d\uff0c\u9700\u8981\u9002\u5f53\u7684\u4f7f\u7528\u672c\u5730\u7d22\u5f15\u6765\u964d\u4f4e\u4f7f\u7528\u6210\u672c\u3002\u5728\u63d0\u4f9b\u4e86\u672c\u5730\u7d22\u5f15\u7684\u6570\u636e\u5e93\u4e2d\uff1a\u25cf PolarDB-X\u548cOB\u7684\u672c\u5730\u7d22\u5f15\u4e0e\u4e3b\u952e\u5177\u6709Locality\u4e0a\u7684\u4eb2\u548c\u6027\uff0c\u80fd\u4f7f\u7528\u5355\u673a\u4e8b\u52a1\u6765\u5bf9\u7d22\u5f15\u8fdb\u884c\u5199\u5165\uff0c\u76f8\u5bf9\u4e8e\u5168\u5c40\u7d22\u5f15\uff0c\u4fdd\u6301\u4e86\u975e\u5e38\u9ad8\u7684\u6027\u80fd\u3002\u25cf TiDB\u867d\u7136\u63d0\u4f9b\u4e86\u672c\u5730\u7d22\u5f15\uff0c\u4f46\u5176\u7d22\u5f15\u548c\u4e3b\u952e\u4e0d\u5177\u5907Locality\u4e0a\u7684\u4eb2\u548c\u6027\uff0c\u65e0\u6cd5\u7ed1\u5b9a\u5230\u540c\u4e00\u4e2a\u673a\u5668\u4e0a\uff0c\u56e0\u6b64\u5176\u672c\u5730\u7d22\u5f15\u4f9d\u7136\u8981\u4f7f\u7528\u5206\u5e03\u5f0f\u4e8b\u52a1\u8fdb\u884c\u7ef4\u62a4\uff0c\u5728\u6027\u80fd\u4e0a\u548c\u5168\u5c40\u7d22\u5f15\u6ca1\u6709\u592a\u5927\u5dee\u5f02\uff0c\u6210\u672c\u90fd\u5f88\u9ad8\u3002\u25cf CockroachDB\u7684\u672c\u5730\u7d22\u5f15\u7406\u8bba\u4e0a\u4e0eTiDB\u7684\u884c\u4e3a\u7c7b\u4f3c\uff0c\u4e0d\u8fc7CockroachDB\u7684partition\u529f\u80fd\u662f\u5546\u4e1a\u7248\u624d\u63d0\u4f9b\u7684\uff0c\u8fd9\u6b21\u5c31\u6ca1\u6709\u8fdb\u884c\u6d4b\u8bd5\u4e86\u5bf9\u4e8eTiDB\u548cCockroachDB\u6765\u8bf4\uff0c\u60c5\u51b5\u5c31\u6bd4\u8f83\u5c34\u5c2c\u4e86\uff0c\u56e0\u4e3a\u4ed6\u4eec\u6240\u63d0\u4f9b\u7684\u6240\u6709\u7d22\u5f15\uff0c\u6210\u672c\u90fd\u8981\u6bd4\u5355\u673aMySQL\u9ad8\u5f88\u591a\u3002\u4f5c\u4e3a\u7528\u6237\u6ca1\u6709\u4efb\u4f55\u624b\u6bb5\u80fd\u6d88\u9664\u8fd9\u4e2a\u4ee3\u4ef7\uff0c\u9664\u975e\uff0c\u4f60\u4e0d\u7528\u4e8c\u7ea7\u7d22\u5f15\u3002\u4eceRT\u7684\u89d2\u5ea6\u770b\uff1a\u5355\u673a\u6570\u636e\u5e93\u7531\u4e8e\u4e8b\u52a1\u7684\u7f51\u7edc\u4ea4\u4e92\u6700\u5c11\uff0cRT\u8868\u73b0\u7684\u662f\u6700\u597d\u7684\uff0c\u5e76\u4e14\u8ddf\u7d22\u5f15\u7684\u6570\u91cf\u51e0\u4e4e\u6ca1\u6709\u5173\u7cfb\u3002\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u7684\u4e8b\u52a1\u7531\u4e8e\u9700\u8981\u66f4\u591a\u7684\u8de8\u8282\u70b9\u4ea4\u4e92\uff0c\u6240\u4ee5RT\u660e\u663e\u4f1a\u6bd4\u5355\u673a\u6570\u636e\u5e93\u66f4\u5927\u3002\u4f46\u7531\u4e8e\u5206\u5e03\u5f0f\u6570\u636e\u5e93\u5728\u591a\u5206\u652f\u7684\u4e8b\u52a1\u4e0a\u4e00\u822c\u90fd\u4f1a\u91c7\u7528\u5e76\u884c\u5199\u5165\u7684\u7b56\u7565\uff0c\u56e0\u6b64\u8868\u73b0\u597d\u7684\u6570\u636e\u5e93RT\u5e76\u4e0d\u4f1a\u968f\u7d22\u5f15\u6570\u91cf\u7684\u589e\u52a0\u800c\u7ebf\u6027\u589e\u52a0\u3002\u603b\u4f53\u8bf4\u6765\uff0cRT\u53ef\u4ee5\u63a5\u53d7\u3002CockroachDB\u5168\u5c40\u7d22\u5f15\u7684RT\u8868\u73b0\u662f\u6700\u5dee\u7684\uff0c\u53ef\u80fd\u8ddf\u4e8b\u52a1\u7b56\u7565\u4f7f\u7528HLC\u6709\u5173\uff0c\u5176\u4ed6\u51e0\u4e2a\u6570\u636e\u5e93\u4f7f\u7528\u7684\u90fd\u662fTSO\u7684\u65b9\u6848\u3002TiDB\u5168\u5c40\u7d22\u5f15\u7684RT\u8868\u73b0\u7684\u662f\u6700\u597d\u7684\uff0c0-8\u4e2a\u7d22\u5f15RT\u51e0\u4e4e\u6ca1\u6709\u53d8\u5316\uff0c\u8bf4\u660e\u5e76\u884c\u4f18\u5316\u505a\u7684\u975e\u5e38\u597d\u3002\u81ea\u5bb6\u4ea7\u54c1PolarDB-X\u5168\u5c40\u7d22\u5f15\u7684RT\u770b\u8d77\u6765\u8fd8\u6709\u4f18\u5316\u7684\u7a7a\u95f4\uff0c\u867d\u7136\u4e0a\u6da8\u6709\u9650\uff0c\u4f46\u5e76\u6ca1\u6709\u505a\u5230\u5b8c\u5168\u7684\u5e76\u884c\u3002\u6211\u4eec\u4f1a\u5728\u540e\u7eed\u7248\u672c\u8fdb\u884c\u4f18\u5316\u3002\u672c\u5730\u7d22\u5f15RT\u975e\u5e38\u7a33\u5b9a\u5e76\u4e14\u4f4e\u3002OB\u7684\u5168\u5c40\u7d22\u5f15\u548c\u672c\u5730\u7d22\u5f15\u8868\u73b0\u548cPolarDB-X\u6bd4\u8f83\u7c7b\u4f3c\uff0c\u5e76\u884c\u4f18\u5316\u6709\u63d0\u5347\u7a7a\u95f4\uff0c\u672c\u5730\u7d22\u5f15\u8868\u73b0\u4e0d\u9519\u3002\u6d4b\u8bd5\u8fc7\u7a0b\u4e2d\u7684\u4e00\u4e2a\u989d\u5916\u53d1\u73b0\uff0cTiDB\u3001OB\u3001CockroachDB\u7684\u81ea\u589e\u4e3b\u952e\uff08auto_increment\/serial\uff09\u90fd\u6709\u6bd4\u8f83\u4e25\u91cd\u7684\u6027\u80fd\u95ee\u9898\uff0c\u90fd\u8981\u4f7f\u7528\u968f\u673a\u7b49\u66ff\u4ee3\u65b9\u6848\u3002TiDB\u4e0eCockroachDB\u662f\u56e0\u4e3a\u65f6\u95f4\u5e8f\u5e26\u6765\u7684\u70ed\u70b9range\u5bfc\u81f4\uff0cOB\u53ef\u80fd\u662f\u5185\u90e8\u7684\u4e00\u4e9b\u9501\u5bfc\u81f4\u3002\u517c\u5bb9\u6027\u5305\u62ec\u529f\u80fd\u517c\u5bb9\u4e0e\u6027\u80fd\u517c\u5bb9\uff0c\u6027\u80fd\u517c\u5bb9\u4e4b\u8def\u6f2b\u6f2b&#8230;\u4e0b\u9762\u9644\u4e0a\u6bcf\u4e2a\u6570\u636e\u5e93\u6d4b\u8bd5\u7684\u60c5\u51b5\u3002\u6d4b\u8bd5\u8be6\u60c5MySQL\u73af\u5883\u914d\u7f6e\u7248\u672c\uff1a5.7.14-AliSQL-X-Cluster-1.5.1.8-20201229-log\u89c4\u683c\uff1a32C128G\uff0c\u72ec\u4eab\u578b\u963f\u91cc\u4e91\u8d2d\u4e70\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425405\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u6d4b\u8bd5\u7ed3\u679c<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425406\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>OceanBase\u73af\u5883\u914d\u7f6e\u7248\u672c\uff1a\u793e\u533a\u7248 3.1.4<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425407\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u79df\u6237\u914d\u7f6e\uff1aCREATE RESOURCE UNIT unit1 MAX_CPU 16, MAX_MEMORY &#8217;32G&#8217;, MAX_IOPS 12800,MAX_DISK_SIZE &#8216;1000G&#8217;, MAX_SESSION_NUM 6400, MIN_CPU=8, MIN_MEMORY=&#8217;16G&#8217;, MIN_IOPS=12800;<br \/>CREATE RESOURCE POOL pool1 UNIT=&#8217;unit1&#8242;,UNIT_NUM=2,ZONE_LIST=(&#8216;zone1&#8242;,&#8217;zone2&#8242;,&#8217;zone3&#8217;);<br \/>CREATE TENANT idx_test CHARSET=&#8217;utf8mb4&#8242;, ZONE_LIST=(&#8216;zone1&#8242;,&#8217;zone2&#8242;,&#8217;zone3&#8242;), PRIMARY_ZONE=&#8217;zone1;zone2,zone3&#8217;, RESOURCE_POOL_LIST=(&#8216;pool1&#8242;) ;\u9700\u8981\u6ce8\u610f\u7684\u51e0\u70b9\uff1aOB\u4e2d\u7684\u8868\u9ed8\u8ba4\u4e3a\u5355\u8868\uff08\u53ea\u5206\u5e03\u5728\u4e00\u4e2a\u8282\u70b9\u4e0a\uff09\uff0c\u9700\u8981\u4f7f\u7528\u5206\u533a\u8868\u7684\u8bed\u6cd5\uff0c\u6307\u5b9a\u5206\u533a\u952e\u4e0e\u5206\u533a\u6570\uff0c\u624d\u80fd\u6210\u4e3a\u4e00\u5f20\u5206\u5e03\u5f0f\u8868OB\u9ed8\u8ba4\u7684\u7d22\u5f15\u662f\u672c\u5730\u7d22\u5f15\uff0c\u9700\u8981\u6307\u5b9aGlobal\u5173\u952e\u5b57\u624d\u662f\u5168\u5c40\u7d22\u5f15OB\u7684\u5168\u5c40\u7d22\u5f15\u9ed8\u8ba4\u4e5f\u662f\u4e00\u4e2a\u5355\u8868\uff08\u53ea\u6709\u4e00\u4e2a\u5206\u533a\uff0c\u53ea\u5206\u5e03\u5728\u4e00\u4e2a\u8282\u70b9\u4e0a\uff09\uff0c\u9700\u8981\u624b\u52a8\u6307\u5b9a\u5206\u533a\u6570\u624d\u662f\u4e00\u4e2a\u771f\u6b63\u7684\u5206\u5e03\u5f0f\u7d22\u5f15UNIT_NUM=1\u7684\u60c5\u51b5\u4e0b\uff0c\u4f3c\u4e4e\u5373\u4f7f\u662f\u5206\u533a\u8868\uff0c\u4e5f\u90fd\u5728\u540c\u4e00\u53f0\u673a\u5668\u4e0a\uff0c\u6240\u4ee5\u6d4b\u8bd5\u673a\u5668\u6570\u8981&gt;=6\uff0c\u786e\u4fddUNIT_NUM&gt;=2OB\u5168\u5c40\u7d22\u5f15\u5982\u679c\u5728\u5efa\u8868\u8bed\u53e5\u4e2d\u76f4\u63a5\u6307\u5b9a\uff0c\u4f3c\u4e4e\u4e0d\u652f\u6301\u6307\u5b9a\u5206\u533a\u6570\uff0c\u56e0\u6b64\u5168\u5c40\u7d22\u5f15\u9700\u8981\u4f7f\u7528\u5355\u72ec\u7684CREATE INDEX\u8bed\u53e5\u6765\u521b\u5efaOB\u5206\u533a\u8868\u7684AUTO_INCREMENT\u5c5e\u6027\u4f3c\u4e4e\u6709\u4e25\u91cd\u7684\u6027\u80fd\u95ee\u9898\uff0c\u8bbe\u7f6e\u4e86\u4e4b\u540e\uff0c\u6027\u80fd\u5f88\u4f4e\uff0c\u8981\u53bb\u6389\u8be5\u5c5e\u6027\uff0c\u5e76\u4e14\u5c06sysbench\u7684auto_inc\u8bbe\u4e3aoff\uff0c\u7531sysbench\u6765\u751f\u6210\u4e3b\u952e\u503cOB\u9ed8\u8ba4\u4f7f\u7528\u7684\u65f6\u95f4\u670d\u52a1\u662f\u672c\u5730\u65f6\u95f4\u670d\u52a1\uff08LTS\uff09\uff0c\u8fd9\u79cd\u6a21\u5f0f\u4e0b\u662f\u4e0d\u652f\u6301\u5168\u5c40\u7d22\u5f15\u7684\uff0c\u9700\u8981\u624b\u52a8\u4fee\u6539\u4e3a\u5168\u5c40\u65f6\u95f4\u670d\u52a1\uff08GTS\uff09\uff1aSET GLOBAL ob_timestamp_service=&#8217;GTS&#8217;;\u6d4b\u8bd5\u7ed3\u679c\u5168\u5c40\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425408\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u672c\u5730\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425409\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>TiDB\u73af\u5883\u914d\u7f6e\u7248\u672c\uff1a6.1.0 \u90e8\u7f72\u7ed3\u6784\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425410\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u9700\u8981\u6ce8\u610f\u7684\u70b9\uff1aTiDB\u4e2d\u8bed\u6cd5\u4e0a\u6ca1\u6709\u201c\u5168\u5c40\u7d22\u5f15\u201d\u8fd9\u4e2a\u8bcd\uff0c\u4f46\u4ece\u539f\u7406\u89d2\u5ea6\u770b\uff0cTiDB\u4efb\u4f55\u4e00\u5f20\u8868\u90fd\u662f\u5206\u5e03\u5f0f\u8868\uff0c\u4efb\u4f55\u4e00\u4e2a\u4e8c\u7ea7\u7d22\u5f15\u90fd\u662f\u5168\u5c40\u7d22\u5f15\uff0c\u5b83\u6ca1\u6709\u5355\u8868\u7684\u6982\u5ff5\u4e0d\u8981\u4f7f\u7528AUTO_INCREMENT\u3002TiDB\u4e2d\u7684AUTO_INCREMENT\u867d\u7136\u662f\u5206\u6bb5\u7684\uff0c\u4e0d\u4fdd\u8bc1\u81ea\u589e\u8fde\u7eed\uff0c\u4f46\u62c9\u957f\u65f6\u95f4\u540e\u4f9d\u7136\u662f\u6709\u4e00\u5b9a\u65f6\u95f4\u5e8f\u7684\uff0c\u6240\u4ee5\u4f1a\u5bfc\u81f4\u70ed\u70b9\u3002\u9700\u8981\u4f7f\u7528AUTO_RANDOM\u66ff\u6362AUTO_INCREMENT\u3002TiDB\u4e2d\u652f\u6301Partition\u8bed\u6cd5\uff0c\u4f46\u5176Partition\u4f9d\u7136\u6784\u5efa\u4e8e\u5206\u5e03\u5f0fKV\u4e4b\u4e0a\uff0c\u610f\u5473\u7740\u6bcf\u4e2aPartition\u4e0b\u9762\u90fd\u5bf9\u5e94\u7740\u4e00\u4e2a\u6216\u591a\u4e2aTiKV\u4e2d\u7684range\uff08\u6ce8\u610f\uff0c\u8fd9\u91cc\u7684range\u548cpartition\u8bed\u6cd5\u4e2d\u7684range\u662f\u4e24\u7801\u4e8b\uff0cparition\u8bed\u6cd5\u4e2d\u7684\u4e00\u4e2arange\uff0c\u4e5f\u53ef\u80fd\u5bf9\u5e94\u591a\u4e2aTiKV\u4e2d\u7684range\uff09\uff0c\u8fd9\u4e9brange\u662f\u4f1a\u88ab\u81ea\u7531\u7684\u8c03\u5ea6\u7684\u3002\u5728\u4f7f\u7528\u4e86Partition\u8bed\u6cd5\u7684\u8868\u4e0a\u521b\u5efa\u7684\u7d22\u5f15\uff0c\u5728\u529f\u80fd\u4e0a\u4e5f\u53eb\u5c40\u90e8\u7d22\u5f15\u3002\u6d4b\u8bd5\u7ed3\u679c\u5168\u5c40\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425411\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u672c\u5730\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425412\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>CockroachDB\u73af\u5883\u914d\u7f6e\u7248\u672c\uff1a22.1.6<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425413\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>CDB\u4e0eTiDB\u7684\u67b6\u6784\u662f\u7c7b\u4f3c\u7684\uff0c\u8868\u6784\u5efa\u4e8e\u5206\u5e03\u5f0fKV\u4e4b\u4e0a\uff0c\u6240\u6709\u8868\u90fd\u662f\u5206\u5e03\u5f0f\u8868\uff0c\u6240\u6709\u7d22\u5f15\u90fd\u662f\u5168\u5c40\u7d22\u5f15\uff0c\u6ca1\u6709\u5355\u8868\u7684\u6982\u5ff5\u3002\u9700\u8981\u6ce8\u610f\u7684\u70b9\uff1a\u5728CDB\u4e2d\uff0c\u4f7f\u7528Serial\u7c7b\u578b\u4e3b\u952e\uff08\u7c7b\u4f3cmysql\u4e2d\u7684auto_increment\uff09\uff0c\u6216\u8005\u4f7f\u7528unique_rowid()\u4f5c\u4e3a\u4e3b\u952e\uff0c\u56e0\u4e3a\u8fd9\u4e24\u4e2a\u90fd\u662f\u6709\u4e00\u5b9a\u65f6\u95f4\u5e8f\u7684\uff0c\u90fd\u4f1a\u4ea7\u751f\u663e\u8457\u7684\u70ed\u70b9\uff0c\u51e0\u4e4e\u65e0\u6cd5\u4f7f\u7528\u3002\u6d4b\u8bd5\u4e2d\u4f7f\u7528UUID\u7c7b\u578b\u7684\u5217\uff0c\u5e76\u4f7f\u7528 gen_random_uuid()\u751f\u6210\u4e3b\u952e\u3002\u8fd9\u4e2a\u672c\u8d28\u662f\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u5728KV\u5c42range\u7684\u5212\u5206\u4e0a\u53ef\u4ee5\u8ba4\u4e3a\u662f\u65e0\u5e8f\u7684\u3002CDB\u6bcf\u4e2a\u8fde\u63a5\u7684\u4ee3\u4ef7\u6bd4\u8f83\u9ad8\uff0c\u65e0\u6cd5\u521b\u5efa\u592a\u591a\u7684\u8fde\u63a5\u6d4b\u8bd5\u7ed3\u679c\u5168\u5c40\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425414\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>PolarDB-X\u73af\u5883\u914d\u7f6e\u89c4\u683c\uff1a\u516c\u6709\u4e918C32G*2 \u7248\u672c\uff1a5.4.13 \u6ce8\u610f\uff1a\u5efa\u5e93\u65f6\u9700\u8981\u4f7f\u7528mode=auto\uff0c\u8fd9\u79cd\u7c7b\u578b\u7684\u6570\u636e\u5e93\u8868\u4e0d\u6307\u5b9a\u5206\u533a\u952e\u7684\u60c5\u51b5\u4e0b\u662f\u5206\u5e03\u5f0f\u8868\uff0c\u540c\u65f6\u7d22\u5f15\u662f\u5168\u5c40\u7d22\u5f15\u3002\u7d22\u5f15\u524d\u52a0Local\u5173\u952e\u5b57\u53ef\u4ee5\u53ea\u521b\u5efaLocal\u7d22\u5f15\u6d4b\u8bd5\u7ed3\u679c\u5168\u5c40\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425415\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u672c\u5730\u7d22\u5f15\uff1a<br \/><img decoding=\"async\" referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000042425416\" alt=\"\u56fe\u7247\" title=\"\u56fe\u7247\" loading=\"lazy\"><br \/>\u9644\u5f55OceanBase \u5168\u5c40\u7d22\u5f15\u5efa\u8868\u8bed\u53e5create database sbtest_gsi8;<br \/>use sbtest_gsi8;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1) global partition by hash(k1) partitions 32;<br \/>create index k_2 on sbtest1(k2) global partition by hash(k2) partitions 32;<br \/>create index k_3 on sbtest1(k3) global partition by hash(k3) partitions 32;<br \/>create index k_4 on sbtest1(k4) global partition by hash(k4) partitions 32;<br \/>create index k_5 on sbtest1(k5) global partition by hash(k5) partitions 32;<br \/>create index k_6 on sbtest1(k6) global partition by hash(k6) partitions 32;<br \/>create index k_7 on sbtest1(k7) global partition by hash(k7) partitions 32;<br \/>create index k_8 on sbtest1(k8) global partition by hash(k8) partitions 32;<\/p>\n<p>create database sbtest_gsi4;<br \/>use sbtest_gsi4;<\/p>\n<p>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1) global partition by hash(k1) partitions 32;<br \/>create index k_2 on sbtest1(k2) global partition by hash(k2) partitions 32;<br \/>create index k_3 on sbtest1(k3) global partition by hash(k3) partitions 32;<br \/>create index k_4 on sbtest1(k4) global partition by hash(k4) partitions 32;<\/p>\n<p>create database sbtest_gsi2;<br \/>use sbtest_gsi2;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1) global partition by hash(k1) partitions 32;<br \/>create index k_2 on sbtest1(k2) global partition by hash(k2) partitions 32;<\/p>\n<p>create database sbtest_gsi1;<br \/>use sbtest_gsi1;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL ,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1) global partition by hash(k1) partitions 32;<\/p>\n<p>create database sbtest_gsi0;<br \/>use sbtest_gsi0;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL ,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;OceanBase \u672c\u5730\u7d22\u5f15\u5efa\u8868\u8bed\u53e5create database sbtest_local8;<br \/>use sbtest_local8;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1);<br \/>create index k_2 on sbtest1(k2);<br \/>create index k_3 on sbtest1(k3);<br \/>create index k_4 on sbtest1(k4);<br \/>create index k_5 on sbtest1(k5);<br \/>create index k_6 on sbtest1(k6);<br \/>create index k_7 on sbtest1(k7);<br \/>create index k_8 on sbtest1(k8);<\/p>\n<p>create database sbtest_local4;<br \/>use sbtest_local4;<\/p>\n<p>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1);<br \/>create index k_2 on sbtest1(k2);<br \/>create index k_3 on sbtest1(k3);<br \/>create index k_4 on sbtest1(k4);<\/p>\n<p>create database sbtest_local2;<br \/>use sbtest_local2;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1);<br \/>create index k_2 on sbtest1(k2);<\/p>\n<p>create database sbtest_local1;<br \/>use sbtest_local1;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL ,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;<br \/>create index k_1 on sbtest1(k1);<\/p>\n<p>create database sbtest_local0;<br \/>use sbtest_local0;<br \/>CREATE TABLE <code>sbtest1<\/code> (<br \/><code>id<\/code> int(11) NOT NULL ,<br \/><code>k<\/code> int(11) NOT NULL ,<br \/><code>k1<\/code> int(11) NOT NULL ,<br \/><code>k2<\/code> int(11) NOT NULL ,<br \/><code>k3<\/code> int(11) NOT NULL ,<br \/><code>k4<\/code> int(11) NOT NULL ,<br \/><code>k5<\/code> int(11) NOT NULL ,<br \/><code>k6<\/code> int(11) NOT NULL ,<br \/><code>k7<\/code> int(11) NOT NULL ,<br \/><code>k8<\/code> int(11) NOT NULL ,<br \/><code>c<\/code> char(120) NOT NULL ,<br \/><code>pad<\/code> char(60) NOT NULL ,<br \/>PRIMARY KEY (<code>id<\/code>)<br \/>) partition by hash(id)  partitions 32;TiDB \u5168\u5c40\u7d22\u5f15\u5efa\u8868\u8bed\u53e5create database sbtest8;<br \/>use sbtest8;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`),\n    KEY `k_3` (`k3`),\n    KEY `k_4` (`k4`),\n    KEY `k_5` (`k5`),\n    KEY `k_6` (`k6`),\n    KEY `k_7` (`k7`),\n    KEY `k_8` (`k8`)<\/code><\/pre>\n<p>) ENGINE = InnoDB  DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest4;<br \/>use sbtest4;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`),\n    KEY `k_3` (`k3`),\n    KEY `k_4` (`k4`)<\/code><\/pre>\n<p>) ENGINE = InnoDB  DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest2;<br \/>use sbtest2;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`)<\/code><\/pre>\n<p>) ENGINE = InnoDB  DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest1;<br \/>use sbtest1;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`)<\/code><\/pre>\n<p>) ENGINE = InnoDB  DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest0;<br \/>use sbtest0;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`)<\/code><\/pre>\n<p>) ENGINE = InnoDB  DEFAULT CHARSET = utf8mb4;TiDB \u672c\u5730\u7d22\u5f15\u5efa\u8868\u8bed\u53e5create database sbtest_local8;<br \/>use sbtest_local8;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`),\n    KEY `k_3` (`k3`),\n    KEY `k_4` (`k4`),\n    KEY `k_5` (`k5`),\n    KEY `k_6` (`k6`),\n    KEY `k_7` (`k7`),\n    KEY `k_8` (`k8`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 partition by hash(id)  partitions 32;<\/p>\n<p>create database sbtest_local4;<br \/>use sbtest_local4;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n        `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`),\n    KEY `k_3` (`k3`),\n    KEY `k_4` (`k4`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 partition by hash(id) partitions 32;<\/p>\n<p>create database sbtest_local2;<br \/>use sbtest_local2;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 partition by hash(id)  partitions 32;<\/p>\n<p>create database sbtest_local1;<br \/>use sbtest_local1;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 partition by hash(id)  partitions 32;<\/p>\n<p>create database sbtest_local0;<br \/>use sbtest_local0;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` bigint(11) NOT NULL AUTO_RANDOM,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 partition by hash(id)  partitions 32;PolarDB-X\u5168\u5c40\u7d22\u5f15\u5efa\u8868\u8bed\u53e5drop database sbtest_gsi0;<br \/>drop database sbtest_gsi1;<br \/>drop database sbtest_gsi2;<br \/>drop database sbtest_gsi4;<br \/>drop database sbtest_gsi8;<br \/>create database sbtest_gsi8 mode=auto;<br \/>use sbtest_gsi8;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`),\n    KEY `k_3` (`k3`),\n    KEY `k_4` (`k4`),\n    KEY `k_5` (`k5`),\n    KEY `k_6` (`k6`),\n    KEY `k_7` (`k7`),\n    KEY `k_8` (`k8`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_gsi4 mode=auto;<br \/>use sbtest_gsi4;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`),\n    KEY `k_3` (`k3`),\n    KEY `k_4` (`k4`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_gsi2 mode=auto;<br \/>use sbtest_gsi2;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`),\n    KEY `k_2` (`k2`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_gsi1 mode=auto;<br \/>use sbtest_gsi1;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    KEY `k_1` (`k1`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_gsi0 mode=auto;<br \/>use sbtest_gsi0;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;PolarDB-X\u672c\u5730\u7d22\u5f15\u5efa\u8868\u8bed\u53e5drop database sbtest_local0;<br \/>drop database sbtest_local1;<br \/>drop database sbtest_local2;<br \/>drop database sbtest_local4;<br \/>drop database sbtest_local8;<br \/>create database sbtest_local8 mode=auto;<br \/>use sbtest_local8;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    LOCAL KEY `k_1` (`k1`),\n    LOCAL KEY `k_2` (`k2`),\n    LOCAL KEY `k_3` (`k3`),\n    LOCAL KEY `k_4` (`k4`),\n    LOCAL KEY `k_5` (`k5`),\n    LOCAL KEY `k_6` (`k6`),\n    LOCAL KEY `k_7` (`k7`),\n    LOCAL KEY `k_8` (`k8`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_local4 mode=auto;<br \/>use sbtest_local4;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    LOCAL KEY `k_1` (`k1`),\n    LOCAL KEY `k_2` (`k2`),\n    LOCAL KEY `k_3` (`k3`),\n    LOCAL KEY `k_4` (`k4`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_local2 mode=auto;<br \/>use sbtest_local2;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    LOCAL KEY `k_1` (`k1`),\n    LOCAL KEY `k_2` (`k2`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_local1 mode=auto;<br \/>use sbtest_local1;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n            `k1` int(11) NOT NULL DEFAULT '0',\n    `k2` int(11) NOT NULL DEFAULT '0',\n    `k3` int(11) NOT NULL DEFAULT '0',\n    `k4` int(11) NOT NULL DEFAULT '0',\n    `k5` int(11) NOT NULL DEFAULT '0',\n    `k6` int(11) NOT NULL DEFAULT '0',\n    `k7` int(11) NOT NULL DEFAULT '0',\n    `k8` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`),\n    LOCAL KEY `k_1` (`k1`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;<\/p>\n<p>create database sbtest_local0 mode=auto;<br \/>use sbtest_local0;<br \/>CREATE TABLE <code>sbtest1<\/code> (<\/p>\n<pre><code>    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `k` int(11) NOT NULL DEFAULT '0',\n    `c` char(120) NOT NULL DEFAULT '',\n    `pad` char(60) NOT NULL DEFAULT '',\n    PRIMARY KEY (`id`)<\/code><\/pre>\n<p>) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;CockroachDB\u5168\u5c40\u7d22\u5f15\u5efa\u8868\u8bed\u53e5drop database sbtest1 CASCADE;<br \/>drop database sbtest2 CASCADE;<br \/>drop database sbtest4 CASCADE;<br \/>drop database sbtest8 CASCADE;<\/p>\n<p>create database sbtest0;<br \/>use sbtest0;<br \/>CREATE TABLE sbtest1 (<\/p>\n<pre><code>    id UUID NOT NULL DEFAULT gen_random_uuid(),\n    k int NOT NULL ,\n            k1 int NOT NULL ,\n    k2 int NOT NULL ,\n    k3 int NOT NULL ,\n    k4 int NOT NULL ,\n    k5 int NOT NULL ,\n    k6 int NOT NULL ,\n    k7 int NOT NULL ,\n    k8 int NOT NULL ,\n    c char(120) NOT NULL ,\n    pad char(60) NOT NULL,\n    PRIMARY KEY (id)<\/code><\/pre>\n<p>);<\/p>\n<p>create database sbtest1;<br \/>use sbtest1;<br \/>CREATE TABLE sbtest1 (<\/p>\n<pre><code>    id UUID NOT NULL DEFAULT gen_random_uuid(),        \n            k int NOT NULL ,\n            k1 int NOT NULL ,\n    k2 int NOT NULL ,\n    k3 int NOT NULL ,\n    k4 int NOT NULL ,\n    k5 int NOT NULL ,\n    k6 int NOT NULL ,\n    k7 int NOT NULL ,\n    k8 int NOT NULL ,\n    c char(120) NOT NULL ,\n    pad char(60) NOT NULL,\n    PRIMARY KEY (id),\n            INDEX k_1(k1)<\/code><\/pre>\n<p>);<\/p>\n<p>create database sbtest2;<br \/>use sbtest2;<br \/>CREATE TABLE sbtest1 (<\/p>\n<pre><code>    id UUID NOT NULL DEFAULT gen_random_uuid(),\n    k int NOT NULL ,\n            k1 int NOT NULL ,\n    k2 int NOT NULL ,\n    k3 int NOT NULL ,\n    k4 int NOT NULL ,\n    k5 int NOT NULL ,\n    k6 int NOT NULL ,\n    k7 int NOT NULL ,\n    k8 int NOT NULL ,\n    c char(120) NOT NULL ,\n    pad char(60) NOT NULL,\n    PRIMARY KEY (id),\n            INDEX k_1(k1),\n            INDEX k_2(k2)<\/code><\/pre>\n<p>);<\/p>\n<p>create database sbtest4;<br \/>use sbtest4;<br \/>CREATE TABLE sbtest1 (<\/p>\n<pre><code>    id UUID NOT NULL DEFAULT gen_random_uuid(),\n    k int NOT NULL ,\n            k1 int NOT NULL ,\n    k2 int NOT NULL ,\n    k3 int NOT NULL ,\n    k4 int NOT NULL ,\n    k5 int NOT NULL ,\n    k6 int NOT NULL ,\n    k7 int NOT NULL ,\n    k8 int NOT NULL ,\n    c char(120) NOT NULL ,\n    pad char(60) NOT NULL,\n    PRIMARY KEY (id),\n            INDEX k_1(k1),\n            INDEX k_2(k2),\n            INDEX k_3(k3),\n            INDEX k_4(k4)<\/code><\/pre>\n<p>);<\/p>\n<p>create database sbtest8;<br \/>use sbtest8;<br \/>CREATE TABLE sbtest1 (<\/p>\n<pre><code>    id UUID NOT NULL DEFAULT gen_random_uuid(),\n    k int NOT NULL ,\n            k1 int NOT NULL ,\n    k2 int NOT NULL ,\n    k3 int NOT NULL ,\n    k4 int NOT NULL ,\n    k5 int NOT NULL ,\n    k6 int NOT NULL ,\n    k7 int NOT NULL ,\n    k8 int NOT NULL ,\n    c char(120) NOT NULL ,\n    pad char(60) NOT NULL,\n    PRIMARY KEY (id),\n        INDEX k_1(k1),\n        INDEX k_2(k2),\n        INDEX k_3(k3),\n        INDEX k_4(k4),\n        INDEX k_5(k5),\n        INDEX k_6(k6),\n        INDEX k_7(k7),\n        INDEX k_8(k8)<\/code><\/pre>\n<p>);\u6b22\u8fce\u5927\u5bb6\u7559\u8a00\u8ba8\u8bba\u3002\u539f\u6587\u94fe\u63a5\uff1a<a href=\"https:\/\/link.segmentfault.com\/?enc=sfj0DXJSB%2Bnxcc2343sPZA%3D%3D.HoNZrYkjCEDN1piO%2F0RL3roK%2FxV4GX26MrSd4d7DAPSMS07jIKvf%2FThrYxsMYegU\" rel=\"nofollow\">https:\/\/click.aliyun.com\/m\/10&#8230;<\/a>\u00a0\u672c\u6587\u4e3a\u963f\u91cc\u4e91\u539f\u521b\u5185\u5bb9\uff0c\u672a\u7ecf\u5141\u8bb8\u4e0d\u5f97\u8f6c\u8f7d\u3002<\/p>\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000042425400\">https:\/\/segmentfault.com\/a\/1190000042425400<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7b80\u4ecb\uff1a\u00a0\u4e8c\u7ea7\u7d22\u5f15\u662f\u5173\u7cfb\u578b\u6570\u636e\u5e93\u76f8\u8f83\u4e8eNoSQL\u6570\u636e\u5e93\u7684\u4e00\u4e2a\u5173\u952e\u5dee\u5f02\u3002\u4e8c\u7ea7\u7d22\u5f15\u5fc5\u987b\u662f\u5f3a\u4e00\u81f4\u7684\uff0c\u56e0\u6b64\u7d22\u5f15\u7684\u5199\u5165\u9700\u8981 [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-10006389","post","type-post","status-publish","format-standard","hentry"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10006389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10006389"}],"version-history":[{"count":0,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10006389\/revisions"}],"wp:attachment":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10006389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10006389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10006389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}