【Debug】查询的数据量比数据库中的数据量还要多

今天前端反馈了一个bug,某个接口返回的数据很多,我到mysql数据库看了一下,查询的表名为trs_risk,其中只有1000多条数据,而页面返回有5000多条数据!!

匪夷所思啊,我定位到Mapper层的代码,返回的也是5000多条数据,于是我反复执行了好几遍sql语句,根据查询条件从mysql中只能查询出一条数据,而且mysql本身也就1000多条数据,怎么可能查询出5000多条呢?

我尝试咨询GPT,GPT说可能是Mybatis的缓存啥的,但我每次运行,都是固定的一个数据量:5231,如果有缓存,数据不应该越来越多吗?我重启了服务再次进行查询,依然是5231,到底怎么回事。。。

就在我百思不得其解的时候,我突然意识到,系统不只用了一个mysql数据库,还有clickhouse数据库 ,因为mysql中恰好有trs_risk这张表,我就想当然地以为接口是从mysql中查询数据的,但我根本没考虑过clickhouse中是否存在这张表。

于是去clickhouse里面一看,果然有这张表,再执行刚刚的查询语句,结果显示:5231行!!

真相大白了。那个接口是从clickhouse中查询的数据,mysql虽然也有这张表, 但是根本不是查询的对象。


问题解决了,但新的疑问出现了:当存在多个数据源的时候,mybatis如何判断每个sql应该查询哪个数据源呢?当然这个问题就留到以后研究了。

相关推荐
一只自律的鸡1 小时前
【MySQL】第二章 基本的SELECT语句
数据库·mysql
liliangcsdn2 小时前
如何使用python创建和维护sqlite3数据库
数据库·sqlite
TDengine (老段)8 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)8 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
安当加密9 小时前
云原生时代的数据库字段加密:在微服务与 Kubernetes 中实现合规与敏捷的统一
数据库·微服务·云原生
爱喝白开水a9 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
想ai抽9 小时前
深入starrocks-多列联合统计一致性探查与策略(YY一下)
java·数据库·数据仓库
武子康9 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
longgyy9 小时前
5 分钟用火山引擎 DeepSeek 调用大模型生成小红书文案
java·数据库·火山引擎
ytttr87310 小时前
C# 仿QQ聊天功能实现 (SQL Server数据库)
数据库·oracle·c#