[alibaba/druid]使用FORCE INDEX (索引名称)指定使用索引列时,sql解析报错

2025-11-11 268 views
3

使用版本 druid-spring-boot-starter 1.1.22

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.22</version>
        </dependency>

使用FORCE INDEX (索引名称)指定使用索引列时,sql解析报错 报错信息: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :' FORCE INDEX (idx_p4) ', expect IDENTIFIER, actual IDENTIFIER pos 958, line 10, column 30, token IDENTIFIER FORCE at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:344) sql并没有被阻断,只是输出了错误信息,请问是版本问题还是暂时不支持此写法的解析,是否可以关闭此类型的错误信息输出

回答

1

请提供重现问题的testcase和druid版本信息

8

您好,执行语句为

select distinct A.* from health_record A FORCE INDEX (idx_p4) JOIN  health_checkup B  FORCE INDEX (idx_health_id_creattime)
on A.HEALTH_ID = B.HEALTH_ID where A.P4 = '444'

我新建了储存库里面放了数据库的初始化文件 初始化数据 druid版本已经在上面问题提供

0

请问这个问题解决了吗?

4

解决了,在yml配置文件中我设置了记录慢sql,里面有个配置merge-sql 把这个配置注释掉就可以了

1

好滴,谢谢