为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:centos7.6
【CPU】:x86_64
【问题描述】*:
我们在查询分区表的时候,通过where条件过滤分区字段PARTITION_KEY ,如下所示,当过滤条件的值为内置函数时,查询走全表扫描,会很慢:
SELECT * FROM mkt_dtl_jtgcqd_query_day
WHERE PARTITION_KEY = fun_get_partitionkey_400(TO_CHAR(SYSDATE - 2, 'yyyyMMdd'))
当将内置函数改成固定值时,查询很快:
SELECT * FROM mkt_dtl_jtgcqd_query_day WHERE PARTITION_KEY = '304'
请问这种情况是否可以优化,应该怎么优化,谢谢
可以改成确定性函数试试
函数返回值的类型是啥呢?是不是类型做了因素转换?