实战案例 | 你的慢SQL,驱动表选对了吗?(十三)

1、慢SQL优化

1.1 原始SQL

-- 耗时1 min
SELECT
    a.DISTRIBUTOR_SERIAL_NO,
    a.APP_SHEET_SERIAL_NO
    -- 省略较多的查询字段
FROM TRA_CFM a
LEFT JOIN tra_appt b ON a.APP_SHEET_SERIAL_NO = b.APP_SHEET_SERIAL_NO
LEFT JOIN fund_set f ON a.FUND_CODE=f.FUND_CODE
WHERE
    a.DISTRIBUTOR_CLEAR_DATE = '2024-02-08'
AND
    a.REGISTER_CODE = 'JY'
AND
    a.BUSINESS_CODE = '143'
AND
    a.CONFIRM_LOT_NO = '2024020800'
AND
    STATUS = '0';

1.2 分析执行计划

1.2.1 查看执行计划
|====================================================================|
|ID|OPERATOR                |NAME               |EST. ROWS|COST       |
-----------------------------------------------------------------------
|0 |SUBPLAN FILTER          |                   |210211   |12673112048|
|1 | HASH RIGHT OUTER JOIN  |                   |210211   |2112774    |
|2 |  TABLE SCAN            |f                  |153436   |59350      |
|3 |  MERGE RIGHT OUTER JOIN|                   |200909   |1767802    |
|4 |   TABLE SCAN           |b                  |3154557  |1232584    |
|5 |   TABLE SCAN           |a(IDX2003200555220)|200909   |385253     |
|6 | TABLE SCA

你可能感兴趣的:(OceanBase,SQL调优,数据库,oceanbase,sql)