mycat
mycat技术
践行见远
暂时喜欢做技术希望能够学到更多东西
展开
-
mycat cpu升高问题
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLtkRkIF-1689157206914)(D:\内部技术文档\mysql相关\img\013.png)]通过top命令查看,发现总体cpu使用率居高不下,按1打开cpu核心详细数据,会有个别核心99%。jstack中nid是十六进制的线程id,将top -H中找到的线程id做十六进制转换,找对问题线程的运行堆栈信息。一个时刻mycat服务器(4核心)cpu使用率从2%,升高至25%(usr)。之后一直不会降下来。原创 2023-07-12 18:35:39 · 308 阅读 · 0 评论 -
mycat对于分组排序取topN逻辑的处理
mycat分发到mysql的语句是带着limit语句的,这样,如果name = ‘w’ 在shard01上排序后是满足条件的,可以查出来。在分片库上做分组排序取topN数据的时候,sql语句做全量分组排序,然后在代码层取topN,这样取得数据才能使正确的。如果不存在分片的情况下,name 为 'w’的sum数据为6,name 为 ‘j’ 的sum 数据也为6.但是全量分组排序,不论在mysql层、mycat层还是在代码层,都会有更多的性能损耗,这点需要考量。原创 2023-07-12 18:36:20 · 109 阅读 · 0 评论 -
mycat分片库多表关联
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0gD83nTP-1689157283747)(D:\内部技术文档\mysql相关\img\015.png)]需要加特殊hint,只支持2张表关联。官方文档中说,Mycat 目前版本支持跨分片的 join,主要实现的方式有四种。ER 分片:通过自设定规则,将相关联的数据划分到同一实例,本质还是不跨实例关联。全局表: 对于小表,所有分片保留一个副本数据。以上方法都需要提前做些冗余工作,1、对于分片表,不能支持关联。原创 2023-07-12 18:36:54 · 520 阅读 · 0 评论 -
mycat关于in的路由机制
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TZ0ysdHM-1689157319807)(D:\内部技术文档\mysql相关\img\017.png)]2、对于mysql而言,in语句里数据的多少会影响到查询效率。那对于cust_no in (1,2,3)此类查询,mycat的路由策略是怎样的,只会分发到对应分片还是分发到所有分片?假设cust_no为1,2,3,4的四条数据分别位于shard1,shard2,shard3,shard4分片上。(没有查询分片3中的数据)原创 2023-07-12 18:37:34 · 146 阅读 · 0 评论 -
mycat漏洞及修复
修改D:\wjf-mycat\Mycat-Server-main\pom.xml文件,将对应组件版本修改正确即可。编译成功后,二进制安装包位于D:\wjf-mycat\Mycat-Server-main\target。cmd—切换到mycat源码目录,执行以下命令进行编译。2、配置本地maven环境。1、下载mycat源码。原创 2023-07-12 18:38:05 · 221 阅读 · 0 评论 -
mycat设置sql隔离级别的问题
General log中出现大量SQL “SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ”。该语句会引起两个问题,1: "REPEATABLE READ"不是我们预期的事物隔离级别。2: 大量无效的SQL影响性能。注: MySql的可重复读会带来怎样的问题,可以参考该文章。原创 2023-07-12 18:38:45 · 925 阅读 · 0 评论 -
【mycat】avg处理分片数据写别名导致小数点精度错误
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZwNzgDZt-1689157428301)(D:\内部技术文档\mysql相关\img\010.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVjDGfkR-1689157428302)(D:\内部技术文档\mysql相关\img\011.png)]链接:https://github.com/MyCATApache/Mycat-Server/pull/1871。原创 2023-07-12 18:39:15 · 101 阅读 · 0 评论