各位好! 目前有一使用flink-sql编写的作业,其中存在通过jdbc查询mysql中某张表A需求,A表“b字段”为索引字段,但是flink-sql查询无法走到该表索引查询,为全表扫描查询。 代码类似于 CREATE TABLE A ( b decimal(4, 0), ..., ... ) WITH ( 'connector' = 'jdbc', 'url' = 'jdbc:mysql://100.191.200.10:9999/lldb', 'username' = 'test', 'password' = 'Test!123', 'table-name' = ‘A’ ) select * from A where b = 1234; 此时发送至数据库的查询为select * from A去掉了后面的where筛选条件,从而无法使用b字段索引查询,变为全表扫描。
此问题是否有办法解决呢?难道flink-sql是先在数据库中全表扫描,再在flink中执行筛选?这样数据库的查询效率极低。