关于jfinal 循环查询 效率低的问题

image.png

关于这种循环里面嵌套查询语句,因为list数据量过大导致查询整个方法执行时间长  是否有好的解决方法呢?

评论区

JFinal

2019-05-06 11:53

这个只能优化 sql, jfinal 内部只管将你的 sql 和参数扔给底层的 JDBC,不会做任何其它动作,理论上性能接近 JDBC

for 循环内查询要尽量避免,例如:
1:使用关联查询,消灭掉 for 循环,多条 sql 变成一条 sql
2:使用缓存,直接从缓存取数据,避免重复查询数据库

还有很多其它优化手段,例如:
1:建立索引,让所有 where 条件运行在索引之上
2:sql 不要使用 select * 减少 IO,尽可能使用 limit 尽早排除掉不需要使用的数据

hxu

2019-05-06 11:57

@JFinal 感谢 这些方面也在考虑

JFinal

2019-05-06 12:25

@hxu 这里的重点是,jfinal 的数据库操作是对 JDBC 的极薄封装,性能在理论上接近 JDBC,性能的问题需要从别的方面优化,而不是 jfinal 层面

hxu

2019-05-13 11:07

@JFinal 好的 感谢

热门反馈

扫码入社