查看原文
其他

mycat系列-Mycat Catlet

2016-06-22 IT哈哈

MyCAT支持的Catlet实现

通过catlet支持跨分片复杂SQL实现以及存储过程支持等。使用方式主要通过mycat注释的方式来执行,如下:

1. 跨分片联合查询注解支持:

/*!mycat:catlet=demo.catlets.ShareJoin / select bu.,sg.* from base_user bu,sam_glucose sg where bu.id_=sg.user_id;

注:sam_glucose 是跨分片表;

2. 存储过程注解支持:

/*!mycat: sql=select * from base_user where id_=1;*/ CALL proc_test();

注:目前执行存储过程通过mycat注解的方式执行,注意需要把存储过程中的sql写到注解中;

3. 批量插入与ID自增长结合的支持:

/*!mycat:catlet=demo.catlets.BatchInsertSequence */ insert into sam_test(name_) values(‘t1’),(‘t2’);

注: 此方式不需要在sql语句中显示的设置主键字段,程序在后台根据primaryKey配置的主键列,自动生成主键的sequence值并替换原sql中相关的列和值;

4. 获取批量sequence值的支持:

/*!mycat:catlet=demo.catlets.BatchGetSequence */SELECT mycat_get_seq(‘MYCAT_TEST’,100);

注:此方法表示获取MYCAT_TEST表的100个sequence值,例如当前MYCAT_TEST表的最大sequence值为5000,则通过此方式返回的是5001,同时更新数据库中的MYCAT_TEST表的最大sequence值为5100.


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存