ibaties+mysql+java 查询性能问题

通过ibaties 访问数据库返回列表给Java list,mysql控制台查询0.004秒 Java代码执行1分钟左右。有些时候 通过mysql管理工具查询几百万数据简单的sql实际看到数据时间是4分钟,系统返回的查询时间时0.002秒这种问题是由于什么引起的。怎样优化此类问题谢谢.
补充一下:不考虑硬件。
图片说明

可能的原因为:
1. 和数据库的IO负载有关;
2. mybatis查询开启了缓存。

针对查询,优化查询使用的索引,看看索引的使用情况。

百万级数据,mysql本身就会慢,建议建立索引

百万级数据?可以考虑用添加NOSQL技术.楼上说的视图也可以考虑

由于查询的是一个树形结构使用的回调函数,查询方法要重复调用几十次……

少发那么多sql效率就提高了.
宁可一条SQL查出所有数据用java处理,也不要发那么多次sql

或许可以建立视图试试呢?