应该不是程序的问题,跟机器的配置应该也没有多大的关系,同样的war包,
在服务器部署之后for循环查询很慢很慢(整个循环下来大概需要30-60秒),而我在自己电脑
上测试发现for循环查询过程不到2秒,请问这个问题的解决思路大概在哪?是不是跟oracle
有关系?
已知条件太少无法判断。简单假设一个场景A,循环中的sql是条低效sql,但是生产环境有2千万条数据,而本地测试库有2千条数据;场景B,生产环境for循环loop了600次,本地环境loop了6次。
请不要把SQL语句放到循环里面,在循环外面初始化赋值,在循环里面使用即可
请不要把SQL语句放到循环里面,在循环外面初始化赋值,在循环里面使用即可,赞同他说的
基本上是索引和数据量不一样导致的,仔细检查下生产库和本地库的区别
循环中调用查询一般是被禁止的,可以通过在循环外一次查询,然后map组装相应数据,在循环里面通过key取value的方式实现。具体参看下面的文章第二点:
https://blog.csdn.net/HXNLYW/article/details/81665072
本地测试环境用的内网肯定快了,生产环境丢在服务器上它的请求速度跟你服务器速度有关,你可以尝试着看一下把循环语句写在SQL中,或者看看循环查询能不能优化一下...这种解决方案还是跟你们业务有关系的。