qq_29332467
那年我毕业了
采纳率0%
2017-10-17 08:14 阅读 4.7k

mybatis sql执行时间明显大于Navicat中执行时间(mysql)

30

select time,
servertime,
status
from base_t1000000000228
where servertime>='2017-10-16 00:00:00'
and servertime<='2017-10-16 23:59:59'
and time<'2017-10-16 00:00:00'
order by time asc
在Navicat中只要1秒不到,但是mybatis却需要将近10秒
base_t1000000000228表数据量有791875条,time是主键;没有创建索引。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • zy841958835 cloudyzhao 2017-10-17 08:41

    Navicat 这个是有缓存的 所以会快点

    点赞 1 评论 复制链接分享
  • longlong3207 longlong3207 2017-10-17 11:16

    程序运行本身需要时间啊,还有mybatis对jdbc进行了封装,你看看jdbc连接多长时间,jdbc是数据库的最源生的连接,jdbc连接数据库最快了

    点赞 1 评论 复制链接分享
  • qq_29447481 叶不二 2017-10-17 08:23

    mybatis和Navicat这两个东西都不一样,一个是框架,一个是数据库操作工具,有可比性么?如果非要比的话,你mybatis连接数据库,从连接池里获取连接是不是也需要时间啊?而你的navicat你操作的时候已经直接连上了。

    点赞 评论 复制链接分享
  • baidu_26611019 蚂蚁冲锋队 2017-10-18 00:23

    两者查询时间有差别是正常的 ,但是不至于差一个数量级吧??? 怀疑你的mybatis是不是有什么额外的耗时操作或者Navicat统计时间不正确。
    关系型数据库791875条数据10秒也算正常,Navicat的时间是怎么得到不足1秒的???

    点赞 评论 复制链接分享

相关推荐