使用MySQL聚合函数来聚合数据,结果发现有刺客...

news2024/11/16 5:48:58

问题:

使用MySQL聚合函数 group_concat 的坑!


现象:

我有个业务,需要将表中符合条件的数据行的id聚合成一个字符串,以供另外一张表的查询过滤。

SELECT
	x 
FROM
	t_A
WHERE
	FIND_IN_SET(
		guan_lian,
		(
		SELECT
			group_concat( id_ ) as ids
		FROM
			t_C 
		WHERE
			parent_id_ = ( SELECT id_ FROM t_B WHERE shi_fou_ = '1' ORDER BY create_time_ DESC LIMIT 1 ) 
		) 
	)

在这里插入图片描述

当时在MySQL客户端查完SQL就这个图,然后也没拉宽去看,直接去看接口返回的数据情况…
SQL写完在测试环境执行时发现命中返回的数据只有一半,顿生疑惑,可能是正式数据没同步,查一下数据库对应数据是否一致,一查完了蛋,一致!结果只返回一半给我…
一细看,妈耶,一看就知道问题所在…
ids 数据只有一半,你猜我是怎么知道它返回一半的?
一个19位的id,它最后的一个id只返回了4位…
这明明被陷害了啊!有刺客!


原因

GROUP_CONCAT 函数默认有最大长度限制,如果数据量非常大,需要在 MySQL 配置中增加 group_concat_max_len 参数的值,避免截断合并后的结果😭


解决步骤:

1、计算业务数据大概长度
2、设置group_concat_max_len 参数值
3、测试

一、计算业务数据量大概长度

一个id是19位,大概数据量是200-300之间
得知长度范围大概在3800-5700之间,设置6000吧,妥善一点!

二、 设置group_concat_max_len 参数值

在全局范围内更改 group_concat_max_len 的值,并重启 MySQL 服务器使更改生效

SET GLOBAL group_concat_max_len = 6000; 

三、测试

经过一顿操作后ids成功返回准确的数据,终于可以开开心心准备回家钓鱼了🎣

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1047882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毫米波V2I网络的链路层仿真研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

工时管理系统,一款灵活性强、轻量级工时记录和管理工具

一、开源项目简介 无鱼工时管理系统,是一款轻量级工时记录和管理工具,包括项目管理,工时上报,工时日报,工时统计等功能。 无鱼工时管理系统可通过员工工时上报的方式,来记录项目所花费的工时,…

分享74个Java源代码总有一个是你想要的

分享74个Java源代码总有一个是你想要的 链接:https://pan.baidu.com/s/1DfGiAF7Ipde-SKeHZJ7-jQ?pwd8888 提取码:8888 项目名称 Akaxin v0.5.4 B2C网站管理系统购物网 v1.5 B3LOG Solo v1.0.0 for MySQL belog博客程序 v1.1 CKFinder 文件管理器…

创建视图权限问题ora1031,ora1720

Ora-1031 使用sql查询无问题,创建视图告警ora-1031 根据文档Document 271587.1 递归对象权限中角色收回时,会造成权限断档 解决方法: 对该对象进行授权(尽量属主用户) Grant select on interface.Material_view_pa…

字符检测专题第二期:通用、简单、快速,见证AI字符识别的超能力!

随着科技的不断进步,OCR(光学字符识别)技术在工业应用中扮演着越来越重要的角色。 在实际生产中,OCR技术可在生产流程监控、自动化设备控制、品质控制和物流控制等方面发挥作用,提高生产流水线的产量和质量&#xff0c…

基于Android的学生考勤签到请假管理系统+全套文档+全套视频教程

【项目功能介绍】 功能列表: 本系统包含后台管理和前端app双端系统, 本系统包含三个角色: 管理员,老师,学生。后台管理员的功能包含: 登录, 退出, ,通知管理,课程管理,课表管理,请假管理,用户管理; app端功能, 老师功能: 登录,退出, 注册, 日历控制日期展示, 查看不…

【JUC系列-08】深入理解CyclicBarrier底层原理和基本使用

JUC系列整体栏目 内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解CAS底层原理和基本使用https://blog.csdn.net/zhenghuishengq/article/details/132478786【三】熟练掌握Atomic原子系列基本…

【超详细】超详细的Linux系统入门教程,超适合小白和想转网络安全行业的朋友学习。

二,Linux系统 2.1 window远程连接Linux系统 ## 语法:ssh 用户名ip地址 ## 比如:ssh root192.168.61.1312.2 简单指令总结 # 远程登录linux系统ssh root192.168.202.136 # 断开连接exit # 重启系统reboot 或者 shutdown -h now # 关机指令s…

05-前端基础CSS第三天

01-CSS三大特性之层叠性 1.CSS的三大特性 CSS有三个非常重要的三个特性:层叠性、继承性、优先级。 1.1 层叠性 相同选择器给设置相同的样式,此时一个样式就会**覆盖(层叠)**另一个冲突的样式。层叠性主要解决样式冲突的问题。…

容器化运维:构建高可用RabbitMQ集群的Docker Compose指南

容器化运维:构建高可用RabbitMQ集群的Docker Compose指南 前言RabbitMQ相关知识点❓:Exchanges中的类型有什么区别❓:policies是什么❓:策略如何设置 docker-compose 搭建RabbitMQ的集群创建docker-compose.yml文件创建rabbitmq.c…

Docker——认识并安装Docker(上篇)

Docker 一、Docker认识二、Docker功能1、更快速的交付和部署2、更高效的虚拟化3、更轻松的迁移和扩展4、更简单的管理Docker 和 VM 三、学习Docker前的必备知识1、环境配置2、虚拟化部署方式3、虚拟化优点4、虚拟化局限性5、容器与虚拟机的区别6、Docker为什么比VM快&#xff1…

CentOS 7下载安装MySQL 5.7以及连接虚拟机CentOS 7数据库教程

## CentOS 7下载安装MySQL 5.7以及连接虚拟机CentOS 7数据库教程 文章目录 ## [CentOS 7下载安装MySQL 5.7以及连接虚拟机CentOS 7数据库教程](https://my.oschina.net/u/3986411/blog/4714780) 通过如下命令查看mariadb的安装包 rpm -qa | grep mariadb通过如下命令卸载mariad…

ARTS 第一期

Algorithm 本周刷的算法是:57. 插入区间 这道算法对我来说很有意义,为什么? 因为这一道算法让我意识到我之前写的算法都是「混」过来的,理解根本不到位,怎么解决?重复的刷之前写过的重要的算法&#xff0…

ppt 作图 如何生成eps格式

需求 ppt中画的图,按照eps格式导出。 环境 软件: ppt, Gsview(用来将ps格式转成eps), Adobe 操作系统: win11 思路 直接在ppt里选择adobe打印机,将图片以文件形式打印到ps格式的文件中,再由gsview转化成eps。 建议在本身就…

程序员去银行咋样?

Q:秦老师长期在金融比如银行领域。能不能从市场和行业情况给大家做一下分析。30-35岁的程序员如何做选择,加入甲方还是乙方?有哪些考量纬度? A:谢邀,简单讲讲我在银行IT领域工作了十来年的一些经验心得。 …

Windows10电脑环境变量(path)怎么进行列表显示?

Windows10电脑环境变量(path)怎么进行列表显示? 环境变量是一行显示 今天配置环境变量的时候,发现环境变量是一行显示,惊呆了,电脑配置的东西太多,如果修改之前的环境变量,需要一个字…

Prometheus-监控Mysql进阶用法(1)(安装配置)

阿丹: 在开发和生产环境中有可能会出现慢mysql等问题,那么这里就需要我们优秀的程序员来进行监控和解决,那么如何借助云原生的监控系统来完成这个操作呢? 环境描述: 使用一台空白的阿里云服务器2核4G。 服务器基本安装…

uni-app:循环数据点击事件获取每行指定数据(获取参数)

效果 页面样式 点击首行控制台输出信息 代码 :data-id"item.id":定义id信息,在点击事件时e.currentTarget.dataset.id获取点击行的id :data-index"index":定义index信息,在点击事件时e.currentTarget.datase…

Spring实例化源码解析之ClassPathBeanDefinitionScanner(五)

Spring实例化源码解析之ClassPathBeanDefinitionScanner(五) 上一章我们分析了ComponentScanAnnotationParser,主要就是分析了ComponentScan注解内的属性和属性的作用,而注解解析的信息会交给ClassPathBeanDefinitionScanner扫描器使用,也就…

运动控制:步进电机

在机械设计中,我们经常用到步进电机。 比如,用步进电机驱动同步带轴,实现直线运动。 再比如,用步进电机驱动滚珠丝杠轴,也可以把旋转运动转换为直线运动。 因为不需要反馈系统,所以步进电机的最大优点是…