首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL在PLSQL中运行非常快,但在Mybatis中运行非常慢

SQL在PLSQL中运行非常快,但在Mybatis中运行非常慢
EN

Stack Overflow用户
提问于 2014-12-14 22:38:05
回答 1查看 2K关注 0票数 2

我得到了一个查询SQL运行非常快的PLSQL,但当运行在项目上时,它变得非常非常慢,几乎5-6秒。这使得我的页面上的响应非常慢。

在这个项目中我们使用Mybatis,这个SQL在映射器文件中就像其他语句一样,在parameters -> java.lang.Long,resulttype -> xxx.DTO中,还有一件事,这是一个很大的SQL,它包括几个标签,每个标签都有它自己的绑定参数-> #{ PartyId,TYPE=jdbc.DECIMAL},但在参数PartyId中都是一样的。

当我在日志中抓取SQL并将其放入PLSQL中时,它的运行速度非常快,仅为0.47秒。

我也不知道原因。

EN

回答 1

Stack Overflow用户

发布于 2014-12-14 22:50:45

你能告诉我们在MyBatis上表现不佳的SQL查询吗?你在使用joins吗?通过删除不需要的列,我已经使一些查询更快了。大型结果集的处理速度非常慢,因为MyBatis必须单独设置所有对象的字段。

另一种策略是例如进行两个SQL查询,而不是一个非常大的查询。换句话说,不是将所有东西都连接在一起,而是尝试删除一个或两个连接,并使用单独的查询“连接”它们。值得一试的是,有多少连接是"OK“的,以及在什么时候执行时间(使用MyBatis或普通的SQL console)会变得太长。我已经在很多场合成功地使用了这个策略。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27470380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档