前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习-MyCAT支持的Catlet 实现

快速学习-MyCAT支持的Catlet 实现

作者头像
cwl_java
发布2021-12-30 17:34:13
3250
发布2021-12-30 17:34:13
举报
文章被收录于专栏:cwl_Javacwl_Javacwl_Java

第 6 章 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 是跨分片表;

  1. 存储过程注解支持:
/*!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 中相关的列和值;

  1. 获取批量 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.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第 6 章 MyCAT 支持的 Catlet 实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档