分析问题
- 难道是环境问题?
统一了 SpringBoot
、 MyBatisPlus
、 taos-jdbcdriver
的版本,以及JDK、编译器的版本,甚至将官方SpringBoot与 MyBatistPlus
集成的例子放进同一个项目, Temperature
可正常分页查询,可一到我的 Power
就不对了;所以是我的表有问题。
- 难道是因为数据量太大?
自己建的表超过1亿条数据, 官方示例中的 Temperature
是用来测试的,里面总共就几张子表,数据量也是个位数,可我试了官方的 meters
表, 100000000
条数据,分页查询正常呀;所以是我的表有问题。
- 难道是我建的表有问题?
是我建表方式有问题?可对照官网说明仔细检查了十来八遍,没发现建库、建表语句有啥问题。而且 TDengine
官方文档中也是有这样的示例的:
Note: 建库建表语句如下(以下是经过简化后的,仅写入两条数据,说明问题即可):
create database if not exists ok;
create stable if not exists ok.power(ts timestamp, voltage int, current float, temperature float) tags(sn int, city nchar(64), groupid int);
create table if not exists ok.device1 using ok.power tags(1, “太原”, 1);
create table if not exists ok.device2 using ok.power tags(2, “西安”, 2);
insert into ok.device1 values(“2021-09-04 21:03:38.734”, 1, 1.0, 1.0);
insert into ok.device2 values(“2021-09-04 21:03:40.734”, 2, 2.0, 2.0);
见鬼,我竟然开始怀疑人生了。
我决定跟踪下 MyBatisPlus
分页查询拦截器的源码,到底为啥我建的表会导致查询数据总量的SQL与别人的不一样。
– 通过 MyBatisPlus
分页查询官方meter表生成的count查询语句
SELECT COUNT(1) FROM meters
– 通过 MyBatisPlus
分页查询官方我建的表生成的count查询语句
SELECT COUNT(1) FROM ( SELECT ts, voltage, current, temperature, sn, city, groupid FROM power ) TOTAL
源码调试
从配置的分页拦截器位置开始,一步步调试。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
总结
本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
MySQL50道高频面试题整理:
的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
MySQL50道高频面试题整理:
[外链图片转存中…(img-ct7ObsPI-1711728339797)]