前言:
目前兄弟们对“oracle表中时间的格式”大致比较关心,各位老铁们都想要了解一些“oracle表中时间的格式”的相关资讯。那么小编同时在网上汇集了一些关于“oracle表中时间的格式””的相关资讯,希望兄弟们能喜欢,看官们一起来了解一下吧!结论
非标准的SQL引起优化器判断异常,将其修改成标准写法后,SQL恢复正常。
问题
这个SQL中涉及的表是一个分区表,该SQL扫描了所有分区,分区裁剪特性没有起效。
解决方法
尝试通过引入union all来分解查询,以便于优化器做出更准确的判断。采用这个方法后,确实起效了,当然不可避免会扫描两遍表。
通过调整日期FORMAT格式,优化器很精准地判断了分区,整体SQL性能得到了很大的提高。
分析
对于非标准的日期格式,Oracle在复杂逻辑判断的情况下分区裁剪特性无法识别,不起作用。这种情况下,会走全表扫描,结果是正确的,但是执行效率会很低。
通过使用union all,简化了条件判断。使得Oracle在非保准日期格式下也能使用分区裁剪特性,但最佳修改方式还是规范SQL的写法。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #oracle表中时间的格式