在PolarDB中, 没有在scan的时候直接过滤然后join 是不是写的不对呀 ?

在PolarDB中,那比如这个语句 没有在scan的时候直接过滤然后join 是不是ubl.register_time 写的不对呀? SELECT * FROM user_label_kudu ucl LEFT JOIN user_business_label ubl ON ubl.uid = ucl.uid WHERE ubl.current_first_active_time >= 1723422382 OR ucl.first_ocr_time >= 1723422382 OR ucl.first_band_card_time >= 1723422382 OR ucl.last_audit_create_time >= 1723422382 OR ucl.last_audit_failed_time >= 1723422382 OR ucl.last_audit_result_time >= 1723422382 OR ucl.last_enter_withdraw >= 1723422382 OR ucl.last_loan_submit_time >= 1723422382 OR ucl.last_loan_failed_time >= 1723422382 OR ubl.last_bank_card_failed_time >= 1723422382 OR ucl.last_loan_success_time >= 1723422382 LIMIT 5

展开
收起
我睡觉不困 2024-08-20 13:06:30 35 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个sql可以把or拆成两个union,这样filter能下推到scan上。此回答整理自钉群"PolarDB专家面对面 - HTAP(列存索引)"

    2024-08-20 13:42:08
    赞同 5 展开评论

阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。

还有其他疑问?
咨询AI助理