发现问题原因
Mysql,多表联查,或是内嵌套表查询,是比较慢的所以我们开发的时候,想的办法是,先把一个表的id全查出来,组合成1,2,3,4,5 查另一个表的时候in(1,2,3,4)
速度还是可以的,但是转成Oracle以后,发现,只是28万数据的一张表,竟然返回1000-3000个id也要十来秒但是从Oracle里大数据查找,还是很快的,只要返回的结果不是太大,
不知道是不是有什么设置错了,也在Oracle群里,和朋友讨论了一下,
他们也不是太清楚原因,但是他们的都是专业服务器,上万条,Plsql全显,也是秒级的
Mysql,多表联查,或是内嵌套表查询,是比较慢的所以我们开发的时候,想的办法是,先把一个表的id全查出来,组合成1,2,3,4,5 查另一个表的时候in(1,2,3,4)
速度还是可以的,但是转成Oracle以后,发现,只是28万数据的一张表,竟然返回1000-3000个id也要十来秒但是从Oracle里大数据查找,还是很快的,只要返回的结果不是太大,
不知道是不是有什么设置错了,也在Oracle群里,和朋友讨论了一下,
他们也不是太清楚原因,但是他们的都是专业服务器,上万条,Plsql全显,也是秒级的
我也只能猜了:最后一张图,你查了30000多条记录出来,花费了7秒多,这个属于正常情况,前面都快,是因为你没有返回所有记录,只是返回了一页,在这种情况下,先不论显而易见的网络开销大幅度下降,在oracle内部都可能出现不一样的执行计划,导致出现不一样的性能。
+1,PL/SQL Developer 这个工具显示时确实不咋地.用代码验证一下,query之后,直接看count.