全部都是在开发中碰到的真实问题,后续会一直更新本条帖子:
场景一:
使用了函数,导致索引失效
交易日期过滤数据时使用了to_date写法,导致日期字段查询未走索引
将控制台输出的sql 粘贴到plsql 按F5打开解释计划执行窗口
切换到HTML,该窗口能更清晰的看到执行计划
拉到最下面可以看到执行的语句
是对交易日期进行了to_char()的写法然后进行筛选查询
执行计划里最边有个*号 表示这个在下面的分析语句里出现了,执行计划对应的是 29 行 花费了1959个单位而且走了全表扫描。
然后删除了sql中的to_char()函数 在查看执行计划
现在可以看到26行对应的执行计划只花费了3个单位