最近发现数据库报了全表扫描的问题。发现加了索引,但是没有生效。就很奇怪问题出现在了哪里。
一、排查
然后就看执行计划(这里连接数据库用的事DBeaver客户端),如下:
发现在这里看到表1走了全表扫描,但是job_log_id我是加了索引的,但是没有走。
然后看显示输出,发现是因为数据类型不匹配导致的。tab_shc_job_log表中的log_id是bigint类型,然后表tab_sch_exc_log表中的job_log_id是varchar类型。
原先找到了,就好解决了。
二、解决
方法一:tab_sch_exc_log表中的job_log_id改为bigint类型。
方法二:sql语句中log_id改成字符串类型
改完之后,发现问题就解决了。