Skip to content

[简介]使用限制

lightfish edited this page Dec 9, 2020 · 2 revisions

使用限制

网络协议

一般来说仅内网使用,没有实现加密通信协议,连通外网有安全问题

没有后端数据库之间的数据同步服务

目标是兼容MySQL7/8服务器,也一定程度兼容Mariadb,支持Mariadb客户端的批量插入特性

网络通信协议仅支持native_password验证

支持超过16mb的报文

不支持查询SQL中带有blob数据

不支持压缩协议

不支持加密协议通信

事务特性

不支持强一致性分布式事务

在同一个事务内,对同一个数据库查询可能会使用多个连接发起并行查询,所以如果对其一的连接进行插入的数据,在另一个连接会读不到.除此之外,满足多个本地事务的隔离级别.

DDL语句

不支持修改拆分键

不支持database,table创建,删除之外的语法

支持物理库的视图视为普通表来使用

仅普通表支持外键

DML语句

DELETE语句

不支持涉及分布式运算的子查询。

不支持多表delete。

UPDATE语句

不支持涉及分布式运算的子查询。

不支持多表update。

SELECT语句

对于for update语句会把sql中出现的表都加锁。

不支持SELECT INTO OUTFILE。

SET语句

支持SET SESSION级别的变量,但是不能被预处理语句引用变量,只有autocommit变量具有正确语义

不支持SET GLOBAL级别的变量

不支持SET USER级别的变量

SHOW语句

所有SHOW语句都视为兼容性SQL进行处理,发往prototype节点处理,所以不具备分布式语义

高级功能

不支持用户自定义数据类型(改代码), 自定义函数(改代码)

支持物理视图,但是不支持Mycat中的逻辑视图

不支持存储过程(改代码)

不支持游标

不支持触发器

不支持流程控制语句

Clone this wiki locally