Gaea兼容范围
Gaea对分表和非分表的兼容性有所不同. 非分表理论上支持所有DML语句, 部分ADMIN语句.
以下支持/不支持操作均指分表情况.
- 聚合函数支持SUM, MAX, MIN, COUNT, 且必须出现在最外层.
- WHERE语句的条件支持AND, OR, 操作符支持=, >, >=, <, <=, <=>, IN, NOT IN, LIKE, NOT LIKE.
- 支持GROUP BY.
明确不支持以下操作:
- 不支持跨分片JOIN. JOIN中非分片键相关的条件, 只改写表名, 不计算路由, 走默认的广播路由.
- JOIN USING不支持指定表名或DB名.
- 表别名不允许与表名重复.
- 这句SQL在MySQL中被认为是正确的, 但是gaea会明确拒绝这种操作.
- 不明确指定列名的INSERT
- 跨分片批量INSERT
- INSERT INTO SELECT
明确不支持以下操作:
- UPDATE多个表
- Gaea目前未实现分布式事务, 只支持单分片事务, 使用跨分片事务会报错.