返回悠然博客列表

TinyDbCluster大战MyCat纪实

发布于 6月前
摘要
说到分库分表解决方案自然是百家争鸣,有开源的有闭源的。说到开源,就不能不提Mycat和Sharding-JDBC,由于Sharding-JDBC对于工具的支持没有特别优化,而这次测试得工具主要是通过工具进行,因此此次大战没有列入Sharding-JDBC,如果后续有机会,希望可以一起PK。

测试工具选择

由于TinyDBCluster是基于JdbcDriver层实现的分库分表方案,因此工具就只能选用支持自定义Driver的工具了,而MyCat由于是在通信层做的适配因此对工具不挑,这一点确实更方便一点,但是为了公平PK,因此就选择了Idea/DataGrip、NetBeans、DataVisualizer 3种工具来测试,Idea和DataGrip是同源工具基本相同,因此测试得时候用DataGrip了。选择3种工具也是考虑到不同的工具其内部实现细节还是有区别的,如果三种都可以比较好的支持,那说明普适性就基本没有问题了。

blob.pngblob.pngblob.png

测试目的及测试用例设计

TinyDbRouter是在JDBCDriver层的实现方案,优点是各种数据库都可以支持确定就是只能支持Java系列的应用;MyCat是代理实现的方式,因此对于什么开发语言来说都可以非常好的匹配,但是对不同的数据库的支持上就相对困难一些,毕竟每种方案都有其固有的优点和缺点。

不论什么样的分库分表解决方案,都是期望提供一个对用户透明的解决方案,这里的用户不仅是开发人员,也针对实施和运维人员,毕竟当需要排查一个问题的时候,如果没有好的工具的支持,这不啻是一种灾难。  因此,此次测试就直接通过工具来验证分库分表解决方案是否OK,如果能支持工具那么对于编程自然也问题不大。利用这些工具,我们只需要导入分库分表驱动,就能直观的进行增删改查以及修改数据结构的操作,管理分库分表的工作也将变的简单,这对于前期开发和后期运维都是非常有意义的。

其实我们使用数据库,主要使用的就是,表、视图、索引、元数据等等,因此此次测试得范围也限定在这些范畴,另外由于我们使用了分库分表,也希望与为分库分表的时候做一下对比,以便检视性能提升的情况,由于条件限制,10个分片数据都在一个物理数据库上,这会导致由于资源冲突而没有达到线性增长的目的,但是由于TinyDbCluster和MyCat使用的都是一样样的10个分片,因此对于对比结果并没有太大的影响。

测试目的

       1.客观、公正地评估其易用性:主要通过数据库工具来验证TinyDBCluster和MyCat支持哪些sql,以及与工具的兼容性。

       2.性能:通过工具,我们可以清晰的看到使用TinyDBCluster和MyCat以后性能是否有提升、提升多少。

测试环境

1.测试工具 

       Idea/DataGrip、NetBeans、DataVisualizer

2.数据环境

            数据库:单台mysql数据库中分biz_0、biz_1、biz_2...biz_9 共十个库。

            分库表:t_org和t_user。分片键均是org_id。t_org数据总量200万。

            TinyDbCluster和mycat均采用取余算法分片。 200万数据均匀分配到十个库中。

测试过程

1 功能性验证

1.1 sql执行器

 1.1.1 元数据命令           

分类功能点预想结果实测结果
DbvisualizerNetbeansidea
show命令show variables能显示所有分库的并集通过通过通过
show databases包含默认数据库的所有库的并集以及tinydbcluster通过通过通过
show tables包含分库分表的表以及分分库分表的表通过通过通过
show columns from t_org包含所有字段,字段类型正确通过通过通过
show processlist显示所有库show processlist的并集通过通过通过
use命令加上use以后再执行show tables。比如use biz_1,biz_1库和biz_0库不一样。看看是不是显示biz_1库的table显示biz_1库的所有库。通过通过通过

1.1.2 DDL语句

功能点预想结果实测结果
DbvisualizerNetbeansidea
create table所有分库都能创建表t_org通过通过     通过
alter table所有分库的t_org表的注释都改过来通过通过通过
新增字段所有分库的t_org表都增加该字段通过通过通过
修改字段所有分库t_org表字段都会修改过来通过通过通过
删除字段所有分库t_org表字段都被删除通过通过通过
新增索引所有分库t_org表都会新建索引通过通过通过
删除索引所有分库t_org表的该索引都会被删除通过通过通过
新增视图只 bor="word-wrap; bord borreak-all;'drstylep vayle="word-wrap: rhin: 0pni4 arn: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过
通过

显示biz_1库的所有库。

通过

通过

通过

通过

t: 1.42857; c line-heighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

insertor: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

bsp;    分r: rgba普="1insert语此对于对比结果并没有太height: 1.42857; wtran此rentyle="rd-wrap:      分r: rgba此对于对比结果并没有太height: 1.42857; wtran此rentyleinsert多条style=rd-wrap: &nbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

>不入X同k-w stylbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

insert加ord; m名br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

>不入成ottbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

delet="word-wrap: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

delet=n="top" sty where 1); wh=123"word-wrap: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,路由Z0, 0)3这ight: 0pxp: b且-colop va成ottbr: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过

in:delet=n="top" sty where 1); wh in(109,983,1039,10002,30001)br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,能路由相应w styl0pxp: b且tom-colop va成ottbr: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过

bsp;    分r: rgbabetween:delet=n="top" sty whered-wrap1); wh between 300002 and 300004: &nbr: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,能路由相应w styl0pxp: b且tom-colop va成ottbr: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过

trunc); li38, 238, 238); line-heightc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

="word-wrtyl0px break-wo清空238, 238); line-heightc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

updat="word-wrap: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

=:updat=p" sty set 1); name='aaa' where 1); wh=125"word-wrap: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,能路由相应w styl0pxp: 而r: rgb("word-wrtylighlargin。b且-co更新style=rdord-wrap: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过

in:updat=p" sty set 1); name='eee' where 1); wh in(104,985,1034,10009,10001)br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,能路由in, 0,应w styl0pxp: 而r: rgb("word-wrtylighlargin。b且-co更新style=rdord-wrap: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过

between:updat=p" sty set 1); name='fff' where 1); wh BETWEEN 123 and 132br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,能路由between,应w styl0px。b且-co更新style=238, 238, 238); line-heigc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过

-wrtyli:updat=p" sty set 1); name='fff'le="worwhere 1); name='bbb'd-wrap: break-word; margin: c line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志kit-"word-wrtylighlargin。b且更新sott238, 238, 238); line-heigc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过ht: 1.42857; word-break: break-all;">通过通过

telect *n="top" sty where 1); wh=12532br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,被路由biz_2w styl0px。p: bre正确br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过ht: 1.4ign="top" widthbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过ht: 1.4ign="top" widng>

telect 1); wh,1); namen="top" sty where 1); wh=12532br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drstyl上238, 238, 23ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drsty通过ht: 1.4ign="top" widng>

br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

in: telect *n="top" sty where 1); wh in (123,456,789)br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

t-co志,能路由相关w styl。b且p: bre正确br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过ht: 1.4ign="top" widthbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过ht: 1.4ign="top" widng>

between:telect *n="top" sty where 1); wh between 123 and 456br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过ht: 1.4ign="top" widng>

t-co志kit能路由相关w styl。b且p: bre正确br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过ht: 1.4ign="top" widthbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过htd valign="top" widng>

telect *n="top" stybr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过htd valign="top" widng>

-"word-wrtylighlargin。最后p: bre正确br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

通过通过

通过

telect 1); detail,clort(1); detail)n="top" sty ht: p by 1); detail>通过

返回p: bre正确p: b且快速返回>通过

通过ht: 1.4ign="top" widng>

telect 1); detailn="top" sty ht: p by 1); detail desc>通过

返回p: bre正确p: b且快速返回>通过

通过rd borreak-all;'drstyl规函数p: 比如conc);:telect *n="top" style="worwhere 1); name">通过rd borreak-all;'drsty返回p: bre正确p: b且快速返回>通过

通过

max函数>通过通过htd valign="top" widng>

通过

min函数>通过通过

通过

avg函数>通过

br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过ht: 1.4ign="top" widng>

tum函数>通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

通过通过

通过

telect *n="top" sty >通过

从第1条style=开始往后100条p: 有序排列>通过

通过

telect *n="top" sty >通过

从第1条style=开始往后100条p: 有序排列>通过

通过

telect *n="top" sty >通过

从第2条style=开始往后100条p: 有序排列>通过

通过

bsp;    分r: rgba连续largin多次:      分r: rgbatelect *n="top" sty >telect *n="top" sty >telect *n="top" sty >telect *n="top" sty >通过

多次largin多条语="p: breighl问题br: rgb(2ht-colo32; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

通过通过

通过rd borreak-all;'drsty表备份:c-alt=p"-all;t_user_bk (telect *n="top" user)p: break-wht-colo32; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drsty在默认style=库biz_0,创建t_user_bk表p: b且会0, 0)00px br表复制到t_user_bk0px。: break-wht-colo32; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drsty通过rd borreak-all;'drsleft-color: rgb(238, 238, 238); border-bottom-color: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drsleft-color: rgb(238, 238, 238); border-b">通过通过rd borreak-all;'drsleft-color: rgb(238, 238, 238); border-bod-wrap: break-word;" class="firstRow">通过rd borreak-all;'drs">ht: p byord; mstyle=带null:telect 1); detail,clort(*)n="top" sty ht: p by 1); detail desc。也就是1); detail0pxstyle=有null>通过rd borreak-all;'drs">不会报错p: 且p: bre正确。最终null brstyle=也在-wrt0px>通过rd borreak-all;'drs">通过rd borreak-all;'drs">bsp;    分r: rgbaht: p by 函数0pxstyle=带null。:      分r: rgbatelect clort(1); detail)...: &nbr: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drs">通过rd borreak-all;'drs">bsp;    分r: rgba>telect 1); detail,sum(bbb),clort(aaa)n="top, 0)0." sty ><&nbr: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drs">通过rd borreak-all;'drs">不带ht: p by br函数。telect 1); detail,sum(bbb),clort(aaa)n="top" sty ><: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drs">通过

is null放到whereord句0px>通过br: rgb(2ht-colo60; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过rd borreak-all;'drs">通过

updat=语="0pxis null放到whereord句0px>通过br: r>通过

通过

updat=p" sty set abc=null where 1); wh=134, 238, 238); line-heigc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过

通过

delet=语="0pxis null放到whereord句0px>通过通过

通过

insert语="0px加入ord; m值为null>通过通过

通过

通过

通过rap: break-worb(2p: break-wordt: 1.4285ighc line-he2ghgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

通过

-tyle=库基本信息br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

包含原生库0px br-"wordcatalog。:      分r: rgba是否会比原生 br多出一个dbcluster br专属catalog(tinydbcluster)。: &nbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

修改表br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

-增ord; mbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

修改ord; mbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

indexbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

-增索引br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过通过

通过通过

通过

通过

viewbr: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

-增视图br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过

通过

通过通过

点开视图,om-c到-tyle=br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过

通过

通过

br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

删除视图br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过

通过

通过

通过

通过

rap: break-worb(2p: break-wordt: 1.4285ighc line-he2ghht-colo224ghgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

通过

insertbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

-增一条-tyle=p: b片=有值br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

-tyle=om-插入o算法对应b片0px>通过

通过

通过通过-增o条-tyle=p: b片=有值br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过-tyle=om-插入o不同库0pxbr: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

updat=>通过

直接编辑-tyle=p: 修改ob片= br值p: 保存>通过

om-保存成功。: /tr>通过

通过

通过通过直接编辑-tyle=p: 修改o条-tyle=p:对应b个b片)br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过都om-保存成功。查c-志p: b对应b一个b片br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过delet=: /tr>通过

直接在工具上删除某条-tyle=: /tr>通过

om-删除成功: /tr>通过

通过

通过通过直接在工具上删除o条-tyle=p:不同分片)br: rgb(2p: break-wordc line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过均om-删除成功: /tr>通过通过通过selectbr: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

点开后om-c到-"word-tyle=: /tr>通过br: rgb(2ht-color2; -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过通过

点击某个brd; m进行排序br: rgb break-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过

通过radius: 4(23igllt;mycat:schemale="woxmlns:mycat="http://io.mycat/"> le="wole="wole="wole="wole="wole="wole="wole="wollt;schemale="woname="TESTDB"&e="wocheckSQLschema="true"&e="wosqlMaxLimit="10000000"> le="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wo... le="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wole="wo le="wole="wollt;/mycat:schemalgt; brrk-wolhgba(0, 0, 0, 0); border-left-color: -rlign="2olor:r: rgbaline="2olor:ghlight-color: rgba(0, 0, 0, 0); border-left-color: rgb(238, list-gba(0-positio rginherit, list-gba(0-imagerginherit, 238, 238); border-bottolihgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-color: rgba(0, 0, 0, 0); border-left-color: rgb(238, list-gba(0rginherit,-bbsp;    分ghlight-color: rgba(0, 0, 0, 0); border-left-color: rgb(238,">工具中执行命令。: &nbrlinbroleaord; margin: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottle="worshow命令。dbcluster都om-执行通过

通过

通过通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过

通过通过

通过

通过

不支持br: rgb(2ht-colo95 -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

通过

通过

通过通过

加上use以后再执行show-t-alls。比如执行:      分r: rgbause biz_1;show-t-alls;:      分r: rgbause tinydbcluster;show-t-alls;:      分r: rgbause biz_1;show-t-alls;:      分r: rgba看看biz_0,biz_1只显示自己b中t-all,otinydbclusterb包含-"wordb中pt-all: &nbr: rgb(2ht-colo95 -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过

不支持br: rgb(2ht-colo95 -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

通过通过通过通过通过通过通过通过cle=te t-all: : rgb(2ht-colo95 -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2ht-colo95 -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2ht-colo95 -ord-wrap: bregba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

alter t-all :比如加注释br: rgb break-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过

支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

通过

通过

通过通过通过通过

通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过ALTER TABLE `t_org`le="wo:      分r: rgbaADD INDEX `abc`(`org_name`) COMMENT 'aaa';: &nbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过cle=te view。:      分r: rgbacle=te view abcd as select * from t_orgbr&nbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

drop viewbr     分r: rgbadrop view abcdbr&nbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过

cle=te view 带gchema。:      分r: rgbacle=te view biz_1.abcd as select * from t_orgo:      分r: rgbadrop view biz_1.abcdbr&nbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过select * from t_org where org_id i-e(1,2,3) 语句。会显示-"wordb含b中该表记录集p-和(1、2、3 3条-tyle=)。执行use biz_0。再执行该语句。(biz_0为其中一个b生-tyle=库p库名)。然后执行select * from t_org where org_id i-e(1,2,3)语句。其p: bre集和select * from biz_0.t_org where org_id i-e(1,2,3)一样。:      分r: rgbale="worle="worle="wor执行use tinydbcluster。再执行select * from t_org where org_id i-e(1,2,3)语句。其p: bre又变回了1、2、3 三条-tyle=。: &nbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过mycat b     分r: rgba[42000][1064] TODO:insert into .... select .... not supported!: &nbr: rgd;" class="firstRow">通过通过通过通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过mycat b     分r: rgba[42000][1064]8ghrtition t-all, insert must provide ColumnList: &nbr: rgd;" class="firstRow">通过通过通过通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过mycat b     分r: rgba[42000][1064]8can't find t-all define i-egchema T_USER_BKegchema:TESTDB b     分r: rgbaDetails: &nbr: rgd;" class="firstRow">通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过mycat执行很慢br: rgd;" class="firstRow">通过通过通过通过通过通过通过通过通过mycat执行很慢br: rgd;" class="firstRow">通过通过通过通过通过通过通过3.5-5sbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过8-9sbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过mycat执行很慢br: rgd;" class="firstRow">通过通过通过通过通过不支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过mycat执行很慢,而且所有结果不正确,请看截图br: rgd;" class="firstRow">通过通过通过不带group by的函数。select org_detail,sum(bbb),count(aaa) from t_org >通过通过通过通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过350-500msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过350-500msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过350-500msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过update分b分表br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过update t_org set name='aaa' where org_id=124br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过update t_org set org_name='eee' where org_id i-(104,985,1034,10009,10001)br: rgb break-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过update t_org set org_name='fff' where org_id BETWEEN 123 and 132br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过update t_org set org_name='fff'  where org_name='bbb' br: rgb break-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过update is null条件br: rgb break-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过update set abc=nullbr: rgb break-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过支持br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过3s 100ms-3s 300msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过3s 100ms-3s 300msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过不支持通过通过通过通过通过通过通过通过通过通过通过通过通过不支持通过不支持通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过300-600msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过2s 600ms-3sbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过通过通过通过通过通过通过通过非分片键:select * from t_org where org_name='tiny129'br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过通过通过350-500msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过350-500msbr: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过表备份:cle=te bable2t_user_bk (select * from t_user);br: rgb(2reak-word; mac line-height: 1.4285ighgba(0, 0, 0, 0); border-left-color: rgb(238ghlight-c3px 5(238, 238, 238); border-bottom-color: rgb(238, 238, 238); line-height: 1.42857;">通过通过不支持通过通过通过通过src="http://tinyapp.oss-cn-shanghai.eakyuncs.com/t_tinygroup/2018-01-04/1515066702513.png" laytr>src="http://tinyapp.oss-cn-shanghai.eakyuncs.com/t_tinygroup/2018-01-04/1515066702513.png" src="http://tinyapp.oss-cn-shanghai.eakyuncs.com/t_tinygroup/2018-01-04/1515066702513.png?x-oss-process=gba(0%2f800" onload='changeImgHeer-b(this)' class='img-heer-b-pre'?x-oss-process=gba(0%2f800" tit(0, " alt="blob.png" sba(0, 0, 0, 0); border-left-cdisplay: inline-block-colx-width:3100%; heer-b: autos backgroundt: 1.42857;">通过src="http://tinyapp.oss-cn-shanghai.eakyuncs.com/t_tinygroup/2018-01-04/1515066914633.png" laytr>src="http://tinyapp.oss-cn-shanghai.eakyuncs.com/t_tinygroup/2018-01-04/1515066914633.png" src="http://tinyapp.oss-cn-shanghai.eakyuncs.com/t_tinygroup/2018-01-04/1515066914633.png?x-oss-process=gba(0%2f800" onload='changeImgHeer-b(this)' class='img-heer-b-pre'?x-oss-process=gba(0%2f800" tit(0, " alt="blob.png" sba(0, 0, 0, 0); border-left-cdisplay: inline-block-colx-width:3100%; heer-b: autos backgroundt: 1.42857;">通过 mycat:不支持非分库分表的表的增删改查以及DDL语句,不支持use语句,不支持视图、索引,不支持不加字段名的insert语句。不支持查询除TESTDB(虚拟schema)以外的表。