我是靠谱客的博主 大力白昼,最近开发中收集的这篇文章主要介绍java oracle 时间查询_Oracle查询 关于时间字段的优化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我先给大家看两个SQL,大家看看那个执行更快:

SQL1:select * from table a where  to_char(a.create_time,'yyyy-MM-dd hh:mm:ss')>'2014-11-26'

SQL2:select * from table a where  create_time>to_date('2014-11-26 00:00:00','yyyy-mm-dd hh24:mi:ss');

说说这连个SQL的区别,SQL1把表create_time字段转为char后再和'2014-11-26'对比,这样的执行结果是,数据库要把每条数据的这个字段都进行转换。

第二个很好解释,把要对比的字段转为date类型,然后让数据库create_time字段和这个值做对比。

实际执行效果显而易见,第二条语句要比第一条语句快数倍。而且第一条由于需要很多转换,查询的同时也严重影响了数据库的性能。

对于这样的SQL,我的建议是,虽然数据库已经很智能,还是要尽量让数据库少做事情。这样的SQL就是个很好的例子,理论上这两条SQL语句执行都是同样的效果,但是第一条明显就是让数据库多做了非常多的事情。

而实际中,这样简单的问题总是被忽略,所以强烈建议大家实时关注数据库优化和SQL的调优。

47bd445f59dfd930db6306649b258d1d.png

最后

以上就是大力白昼为你收集整理的java oracle 时间查询_Oracle查询 关于时间字段的优化的全部内容,希望文章能够帮你解决java oracle 时间查询_Oracle查询 关于时间字段的优化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(25)

评论列表共有 0 条评论

立即
投稿
返回
顶部