分片路由
- 直接路由:只针对分库不分表的情况,可以避免SQL解析和之后的结果归并;
- 标准路由:不包括关联查询或者只包括绑定表(主表和子表有相同的sharding key)之间的关联查询;一般包括=,in和between and三种情况;
- 笛卡尔积:非绑定表之间的关联查询;性能最差;
广播路由
查询中不包括sharding key,这个是需要做全局扫描和结果归并的;
- 全库路由:主要包括对数据库的操作,比如SET指令等TCL指令;
- 全库表路由:包括不带分片键的DQL和DML,以及DDL等;
- 全实例路由:用于DCL操作,授权语句针对的是数据库的实例;
- 单播路由:用于获取某一真实表信息的场景,它仅需要从任意库中的任意真实表中获取数据即可,比如desc table;
- 阻断路由:用于屏蔽SQL对数据库的操作,比如use database;