ORACLE RAW列不走索引的问题解决
一、表结构
LABEL_PARAM有2亿多的数据。不走索引查一条数据需要花费5-10分钟。
二、不走索引的SQL和执行计划
select * from MITLABELMANAGER.label_param where label_id = 'C4A879E9CC8246FB9053004735F2604A'
发现LABEL_ID列需要通过RAWTOHEX方法转换成HEX类型再与ID进行比较,由于经过了转换,所以必须要进行全表扫描了。
所以只要提前将ID转换成RAW类型的输入就可以解决问题。
三、优化后的可以走索引的SQL和执行计划
优化之后走索引了,每次查询只需要零点几秒,满足生产查询要求
select * from MITLABELMANAGER.label_param where label_id = HEXTORAW('C4A879E9CC8246FB9053004735F2604A')
本文来自博客园,作者:迷神图卷,转载请注明原文链接:https://www.cnblogs.com/CryOnMyShoulder/p/15791036.html