玖叶教程网

前端编程开发入门

Oracle通过处理日期格式数据优化效率

工作中偶然碰到,先记下来,深层次原因以后再进行分析。

1.Oracle针对日期格式数据优化

先说结论,在对日期进行处理时,应该使用to_date函数先将其格式进行转换,不要直接使用varchar2类型的数据处理,会导致效率特别低,根据实战经验,60多倍还是有的。

查询sql如下:

select ata_skhx.bf_rowid bf_rowid,sum(nvl(ata_skhx.hxmoney,0)) hxmoney from ata_skhx ata_skhx left join v_ysk v_ysk on ata_skhx.df_rowid =v_ysk.bodyid where v_ysk.billdate <= '2019-05-13' group by ata_skhx.bf_rowid

在对代码进行调试时,查询条件中新加了日期格式的数据,发现查起来非常慢,通过在PL/SQL中查看执行计划,发现是日期格式数据处理方式不当。通过修改,完成效率优化。

优化后SQL如下:

select ata_skhx.bf_rowid bf_rowid,sum(nvl(ata_skhx.hxmoney,0)) hxmoney from ata_skhx ata_skhx left join v_ysk v_ysk on ata_skhx.df_rowid =v_ysk.bodyid where to_date(v_ysk.billdate,'yyyy-mm-dd') <= to_date('2019-05-13','yyyy-mm-dd') group by ata_skhx.bf_rowid

oracle文章链接:

Oracle对日期进行操作

Oracle学习日记——给查询结果排序

Oracle学习日记——时间日期范围处理

Oracle查询基础

MySQL文章链接

MySQL学习系列之八——分组数据

MySQL学习系列之十二——组合查询

MySQL学习系列之十五——MySQL插入数据

easyui文章链接

easyui中datagrid页脚数据动态刷新以及JS获取项目的绝对路径

easyui中datagrid添加单元格编辑事件

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言