两个mysql外部表有些数据关联不上

【详述】问题详细描述
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】例如:2.3.3
执行sql:
select global_id,1 from crmdb.crm_company_info e where e.global_id=‘ec180202190927011724’
union all
select global_id,2 from crmdb.crm_enterprise_member_corp c where
c.global_id=‘ec180202190927011724’;
select
c.GLOBAL_ID,
e.GLOBAL_ID
from crmdb.crm_enterprise_member_corp c
LEFT JOIN crmdb.crm_company_info e ON e.GLOBAL_ID = c.GLOBAL_ID
where c.global_id=‘ec180202190927011724’;


explain 问题SQL执行计划:
PLAN FRAGMENT 0
OUTPUT EXPRS:GLOBAL_ID | GLOBAL_ID
PARTITION: UNPARTITIONED

RESULT SINK

5:EXCHANGE

PLAN FRAGMENT 1
OUTPUT EXPRS:
PARTITION: HASH_PARTITIONED: GLOBAL_ID

STREAM DATA SINK
EXCHANGE ID: 05
UNPARTITIONED

4:HASH JOIN
| join op: LEFT OUTER JOIN (PARTITIONED)
| hash predicates:
| colocate: false, reason:
| equal join conjunct: GLOBAL_ID = GLOBAL_ID
|
|----3:EXCHANGE
|
1:EXCHANGE

PLAN FRAGMENT 2
OUTPUT EXPRS:
PARTITION: UNPARTITIONED

STREAM DATA SINK
EXCHANGE ID: 03
HASH_PARTITIONED: GLOBAL_ID

2:SCAN MYSQL
TABLE: crm_company_info
Query: SELECT GLOBAL_ID FROM crm_company_info WHERE (GLOBAL_ID = ‘ec180202190927011724’)

PLAN FRAGMENT 3
OUTPUT EXPRS:
PARTITION: UNPARTITIONED

STREAM DATA SINK
EXCHANGE ID: 01
HASH_PARTITIONED: GLOBAL_ID

0:SCAN MYSQL
TABLE: crm_enterprise_member_corp
Query: SELECT GLOBAL_ID FROM crm_enterprise_member_corp WHERE (GLOBAL_ID = ‘ec180202190927011724’)

您可以提供一下,left join这条查询的下面两个信息吗?

  1. profile
  2. explain costs select …

如果在我们的微信群里面,请@satanson

crmdb.crm_company_info 表中字段GLOBAL_ID, 是字符串类型,末尾有空白符, mysql的等值谓词处理时, 会trim掉字符串末位空白符, 但是输出的结果中有空白符. 因此left join等值条件中, 判断出"ec180202190927011724"和"ec180202190927011724 "不相等, 右侧补NULL.