阅读(1258)
赞(16)
Mycat2 使用限制
2021-09-08 10:15:11 更新
网络协议
- 一般来说仅内网使用,没有实现加密通信协议,连通外网有安全问题
- 没有后端数据库之间的数据同步服务
- 目标是兼容
MySQL7/8
服务器,也一定程度兼容Mariadb
,支持Mariadb
客户端的批量插入特性 - 网络通信协议一定支持
native_password
验证,其他验证方式会自动切换到验证插件 - 支持超过
16mb
的报文 - 不支持压缩协议
- 不支持加密协议通信
事务特性
- 支持强一致性分布式事务
DDL语句
- 不支持修改拆分键
- 支持物理库的视图视为普通表来使用
- 仅普通表支持外键
DML语句
- DELETE语句
- 不支持涉及分布式运算的子查询。
- 不支持多表
delete
。
- UPDATE语句
- 不支持涉及分布式运算的子查询。
- 不支持多表
update
。
- SELECT语句
- 对于
for update
语句会把sql
中出现的表都加锁。 - 具体是行锁还是表锁要看
sql
语句。 - 不支持
SELECT INTO OUTFILE
。
- 对于
- SET语句
- 支持
SET SESSION
级别的变量,但是不能被预处理语句引用变量,只有autocommit
变量具有正确语义 - 不支持
SET GLOBAL
级别的变量 - 不支持
SET USER
级别的变量
- 支持
- SHOW语句
- 所有
SHOW
语句都视为兼容性SQL进行处理,发往prototype
节点处理,所以不具备分布式语义
- 所有
- 高级功能
- 不支持用户自定义数据类型(改代码), 自定义函数(改代码)
- 支持物理视图,但是不支持
Mycat
中的逻辑视图 - 不支持存储过程(改代码)
- 不支持游标
- 不支持触发器