查询语句不要放for循环里会阻塞吗

如题所述

不会,根据语境来看,查询语句是只要不放for循环里,是不会被阻塞的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-12-28
for循环中使用sql语句
最简单的一种方式就是for循环中使用sql语句。根据关联字段查出对应的数据。

优点:
实现简单快速,在2个表都有基本Mapper的情况下,不用新增任何基础类,直接可以拼凑逻辑。

缺点:
整个接口速度慢,例如list有100条结果,每条都遍历查库,需要查100次库。
而建立session访问数据库是较耗时的操作,最简单的一个session也要20ms左右。
光和数据库交互就要2秒,更何况还有其他逻辑。

大量查询拉低数据库性能, 数据库的连接数是有限的,因为有限,所以珍贵。
即使配置了连接池,有效的提高了和数据库交互的效率。 仍应避免大量频繁查询。
for循环中使用sql语句,有个明显的现象是第一次查询速度很快,越查询越慢。
这是个很反常的现象,因为oracle有缓存的机制,按道理说该第一次查询慢,越查询越快。
那么为什么会出现这种情况呢?
是因为每次这种for循环查询,会大量请求数据库,造成通道拥堵。所以越查越慢。
第2个回答  2022-12-21
是因为每次这种for循环查询,会大量请求数据库,造成通道拥堵。所以越查越慢。一个大sql实现功能 上面说了,for循环sql语句效率太低。
相似回答
大家正在搜