Oracle数据库日期过滤方法性能比较

方法一、通过to_char将日期转换成字符串进行比较

to_char(cr.contractenddate, 'YYYY-MM-DD') >= '2014-11-13'

and to_char(cr.contractenddate, 'YYYY-MM-DD') <= '2015-11-19'

耗时:0.171s

方法二、通过to_date将字符串转换成日期进行比较

cr.contractenddate >= to_date('2014-11-13', 'YYYY-MM-DD')

and cr.contractenddate <= to_date('2015-11-19', 'YYYY-MM-DD')

耗时:0.093s

方法三、通过数据库关键字between  and 进行比较

cr.contractenddate

between to_date('2014-11-13', 'YYYY-MM-DD') and to_date('2015-11-19', 'YYYY-MM-DD')

耗时:0.078s

总结:方法一耗时体现在需要逐个比较字符串的每个字符;

方法二耗时体现在>= 和<=;

推荐使用方法三

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/016d9c7a0f8532a24e06f5a034daf7c3.html