表中数据量过大,目前已有40万条,查询速度非常慢,如果不使用索引,想优化sql来提高查询速度,在调试过程中发现,

写sql查询数据库时,传入时间段查询部分为:

 <!--大于开始时间-->and sw.TIME >=to_date(CONCAT('2018-09-10', '00:00:00'),'yyyy-mm-dd hh24:mi:ss')
<!--小于结束时间-->and sw.TIME <=to_date(CONCAT('2018-09-10', '23:59:59'),'yyyy-mm-dd hh24:mi:ss')

查询时间不到1s;

在xml中传入String类型的开始时间和结束时间,写为:

 <!--大于开始时间-->and sw.TIME >=to_date(CONCAT(#{start_time}, '00:00:00'),'yyyy-mm-dd hh24:mi:ss')
<!--小于结束时间-->and sw.TIME <=to_date(CONCAT(#{end_time}, '23:59:59'),'yyyy-mm-dd hh24:mi:ss')

查询后后台打印时间,超过10s;

后来查看数据库,该字段类型为Timestamp类型,在后台传入开始时间和结束时间,将它们先转化为Date类型,再传入sql设置jdbcType=TIMESTAMP:

<if test="start_time != null and start_time != '' ">and sw.TIME >=#{start_time,jdbcType=TIMESTAMP}
</if>
<if test="end_time != null and end_time != '' "><![CDATA[and sw.TIME <=#{end_time,jdbcType=TIMESTAMP} ]]>
</if>

后台打印时间为2s;

这样提高了一些速度,更多优化的方法还在寻找

Mybatis下传入时间条件,查询慢的优化方法相关推荐

  1. python使用pandas基于时间条件查询多个oracle数据表

    python使用pandas基于时间条件查询多个oracle数据表 目录 python使用pandas基于时间条件查询多个orcale数据表 #orcale数据连接

  2. JAVA Web学习笔记15 mybatis之查看详情 条件查询

    查看详情 1.编写接口方法 BrandMapper接口 这里需要注意的是Brand selectById(int id);这里的id并没有与BrandMapper.xml的select方法里的id相对 ...

  3. php mysql or_mysql条件查询and or使用方法及优先级实例分析

    本文实例讲述了mysql条件查询and or使用方法及优先级.分享给大家供大家参考,具体如下: mysql and与or介绍 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 使 ...

  4. mysql in和or扫描全表_MySQL对OR条件查询不支持优化,会进行全表扫描

    MySQL对OR条件查询不支持优化,会进行全表扫描:explain extended select * from like1 where name like 'abc%';例如:+----+----- ...

  5. MyBatis中的多条件查询

    mybatis的多条件查询是后台开发中常见的一种需求,下面直接展示需要实现的效果图: 如上图,我们需要根据四个条件来查询简历信息,而且需求允许某些条件为空,还有一个就是时间段的查询,如果我们使用的常规 ...

  6. mybatis动态SQL多条件查询1 - if 标签

    Mybatis框架的动态SQL技术是一种根据特定条件动态拼接SQL语句的过程.它的存在是为了解决拼接SQL语句字符串的痛点问题.创建新的Mapper接口和新的mapper映射文件. 目录 1.创建Dy ...

  7. 详述 Elasticsearch 通过范围条件查询索引数据的方法

    文章目录 情景 查询方法 通过命令实现范围查询 通过 API 实现范围查询 情景 在使用 Elasticsearch 的时候,我们可能会遇到需要以范围为条件查询索引数据的需求.有两种方法可以实现我们的 ...

  8. oracle临时表动态采样,带临时表的SQL查询语句的优化方法

    [IT168 原创]故障突发:11号上午,收到系统应用人员的反馈:"销售日报"无法查询出结果,已经等待一个小时,屏幕依然是灰的,而以往该报表2分钟内即可出结果,IT部的同事看一下怎 ...

  9. mysql查询很慢优化方法1

    解决方法: 关联的字段建索引. 具体分析如下: 举例: 表格:培训学生表,班级报名表 需求:查询出学生报了哪些班级 两表有个关联字段"CD"(学生学号). 视图sql: SELEC ...

最新文章

  1. 电路设计中电阻电容电感的选择原则
  2. ph获取xml文件信息
  3. MATLAB应用实战系列(五十二)-Excel数据的读取
  4. 一位大学教师对学生的建议:如何做好研究
  5. 2013.10u-boot移植之SD保存环境变量
  6. ajax control toolkit vs2013,VS2008 .net framework 3.5使用Ajax Control Toolkit完整解决方案
  7. linux wget安装mysql_linux安装mysql
  8. scala的三个排序方法
  9. 快速搭建一个本地FTP服务器
  10. Java 后端彻底解决跨域问题(CORS)
  11. 熟悉继承(java)
  12. 如何写出优秀的数据报告分析
  13. EKF_SoC:基于MATLAB/Similink的扩展卡尔曼滤波器EKF的锂电池SoC计算仿真模型
  14. 计算机格式化为ntfs,WinXP下怎么把U盘格式化成NTFS格式?XP下把U盘格式化成NTFS格式图文教程...
  15. 安全问题层出不穷 加密手机悄然兴起
  16. 揭秘诈骗团伙通过裸聊软件实施敲诈勒索
  17. 判定一棵二叉树是否是二叉搜索树
  18. java实训第二次作业//181021(个人所得税计算器;判断闰年与平年;个人作业展示系统(方法调用))
  19. java微信支付v3系列——8.微信支付之退款成功回调
  20. Dictionary < K , V > 字典

热门文章

  1. Oracle分页查询存储过程(适用于单表查询)
  2. 快速缓解过敏的简单技巧
  3. 8.19华为笔试题目c++
  4. 家庭记账软件(项目一)
  5. Ubuntu16.04发热 CPU/GPU温度比win10高解决方法
  6. 鸿蒙os拍摄功能,华为5G巅峰之作:屏下摄像头+鸿蒙OS+徕卡镜头 这才是华为的实力...
  7. LeetCode知识点总结 - 2073
  8. 俩人同样写代码,我拿七千他咋五万八...
  9. opencv 绘制轮廓边框 多边形 圆形 矩形
  10. 华为开发者大会2022直播攻略请查收!