1452079621 发表于 2021-10-8 12:55

Java 数据库查询特别慢应该怎么解决

在写代码的时候遇到了这种情况

该页面的列表页对应的查询SQL是三张表关联查询出来的,但是这三张表数据量都特别大,查询出来的效率特别慢,被点名后修改为只查主表,在service层中将另外两张表分别查询出来然后将需要的字段set进去

这样改完之后效率的确高了不少,但是遇到了一个新的问题

如果这个列表页需要添加排序功能,且需要排序的字段分别散布在三张表中,这样一来就不能再service里面写了,但是SQL查询速度还很慢(尤其加了排序之后),这种情况应该怎么解决?

currentdirect 发表于 2021-10-8 13:21

发下sql,看不到sql只能说加索引

renwuqiangg 发表于 2021-10-8 13:22

这个慢是正常的。

梦回凉亭的她 发表于 2021-10-8 13:22

优化方法很多,百度 数据查询优化

肥猫警长 发表于 2021-10-8 13:30

先查的主表,然后子表全查,子表返回的结果根据外键id分组,循环主表匹配id然后塞进去的。速度一秒内

1281407155 发表于 2021-10-8 13:32

肥猫警长 发表于 2021-10-8 13:30
先查的主表,然后子表全查,子表返回的结果根据外键id分组,循环主表匹配id然后塞进去的。速度一秒内

{:1_905:}网络云开发吗

nanaqilin 发表于 2021-10-8 13:44

数据量大的时候慢是很正常的,你可以查一下MYSQL的性能,看看是不是在并不多的范围之内

jiangteddy 发表于 2021-10-8 13:56

能有多大?10万条数据?

Tiana丶Tiana 发表于 2021-10-8 14:03

合理使用视图,SQL语句优化

xuet 发表于 2021-10-8 14:24

分页查询 少查一些呢 必须要一次性全查出来吗?
页: [1] 2 3
查看完整版本: Java 数据库查询特别慢应该怎么解决