Oracle数据库日期过滤方法性能比较
Oracle数据库日期过滤方法性能比较
在开发SQL时,过滤日期段是经常遇到的情况,如何高效的过滤出日期段?本文通过实验进行验证:
方法一、通过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
总结:方法一耗时体现在需要逐个比较字符串的每个字符;
方法二耗时体现在>= 和<=;
推荐使用方法三
相关推荐
周嘉笙 2020-11-09
zhuzhufxz 2020-09-16
CoderToy 2020-11-16
技术之博大精深 2020-10-16
emmm00 2020-11-17
bianruifeng 2020-11-16
云中舞步 2020-11-12
世樹 2020-11-11
暗夜之城 2020-11-11
张荣珍 2020-11-12
amienshxq 2020-11-14
ASoc 2020-11-14
yungpheng 2020-10-19
loveyouluobin 2020-09-29
尘封飞扬 2020-09-29
Coder技术文摘 2020-09-29
lbyd0 2020-11-17
BigYellow 2020-11-16