cetus/doc/cetus-constraint.md
2018-03-06 15:34:44 +08:00

2.1 KiB
Raw Blame History

Cetus性能约束说明

Cetus支持读写分离和分库两个版本具有如下性能约束

  • 针对两个版本

    • 不支持批量sql语句的执行

    • 不支持TLS

    • 不支持多租户

    • 单进程工作模式建议在docker容器使用

    • 只支持linux系统

    • 不支持客户端ctl+c操作即不支持kill query操作

    • set命令的有限支持不支持global级别的set命令支持部分session级别的set命令

    • sql语句的有限支持包括1不支持将LAST_INSERT_ID 嵌套在INSERT或者其他的语句中2不支持客户端的change user命令

  • 针对分库版

    • 目前分库版不支持动态扩容

    • 目前分库版不支持二级分区

    • 分库版最多支持64个分库建议4816个分库

    • 分库版不支持跨库join

    • 分库版的自增主键最好用第三方比如redis

    • 分库版的sql限制比读写分离版的要多除了以上针对两个版本的限制还包括以下几点 1 不支持AVG聚合函数 2不支持COUNT(DISTINCT)/SUM(DISTINCT) 3不支持存储过程和视图 4不支持批量sql语句的执行 5不支持having多个条件 6不支持含有any/all/some的子查询语句 7不支持load data infile 8不支持handler语法 9不支持lock tables语法 10针对分片表ORDER BY排序字段不超过8个列 11针对分片表仅支持DISCTINCT字段同时也是ORDER BY字段 12针对分片表CASE WHEN/IF不能用于DML语句中也不能用在GROUP BY后 13在结果集大于特定值时分页可能无法返回准确值 14不支持跨库的JOIN 15当Where条件中有分区列时值必须是原子值 16在做SQL查询时只支持同一个 VDB 内的关联查询,针对 sharding 表,可以使用 sharding key 的要求加上该过滤条件; 17不支持服务器端 PREPARE 18使用中文列名或中文别名时必须加引号 19 order by和group by的字段必须出现在前面字段列表中