mycat使用限制

部分 SQL 还不能很好的支持

  • 除了分片规则相同、 ER 分片、全局表、以及 SharedJoin,其他表之间的 Join 问题目前还没有很好的解决,需要自己编写 Catlet 来处理 
  • 不支持 Insert into 中不包括字段名的 SQL 
  • insert into x select from y 的 SQL,若 x 与 y 不是相同的分片规则,则不被支持,此时会涉及到跨分片转移 
  • 跨分片的事务,目前只是弱 XA 模式,还没完全实现 XA 模式 
  • 分片的 Table,目前不能执行 Lock Table 这样的语句,因为这种语句会随机发到某个节点,也不会全部分片锁定,经常导致死锁问题,此类问题常常出现在 sqldump 导入导出 SQL 数据的过程中。
  • 目前 sql 解析器采用 Druid,再某些 sql 例如 order,group,sum ,count 条件下,如果这类操作会出现兼容问题,比如:

selectt.name as name1 from test order by t.name

  • 这条语句 select 列的别名与 order by 不一致解析器会出现异常,所以在对列加别名时候要注意这类操作异常,特别是由 jpa 等类似的框架生成的语句会有兼容问题。

 

开发框架方面,虽然支持 Hibernat,但不建议使用 Hibernat,而是建议 Mybatis 以及直接 JDBC 操作,原因 Hibernat 无法控制 SQL 的生成,无法做到对查询 SQL 的优化,导致大数量下的性能问题。此外,事务方面,建议自己手动控制,查询语句尽量走自动提交事务模式,这样 Mycat 的读写分离会被用到,提升性能很明显。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值