DB2 针对如下SQL如何优化索引

其中F_REL_PIN_PERSON_BASE_MID 九百万数据量        F_REL_PIN_PERSON_BASE_MID_TMP 四百万数据量SELECT I_DNO,       I_DTYPE,       NAME,       GENDER,     &nbs...显示全部
其中F_REL_PIN_PERSON_BASE_MID 九百万数据量
       F_REL_PIN_PERSON_BASE_MID_TMP 四百万数据量
SELECT I_DNO,
       I_DTYPE,
       NAME,
       GENDER,
       CASE
         WHEN BIRTH IS NOT NULL AND BIRTH <> '' THEN
          BIRTH
         ELSE
          (SELECT BIRTH
             FROM F_REL_PIN_PERSON_BASE_MID B
            WHERE BIRTH IS NOT NULL
              AND BIRTH <> ''
              AND A.I_DNO = B.I_DNO
            ORDER BY TABLE_ORDER ASC,
                     RECORD_TIME DESC FETCH FIRST 1 ROWS ONLY)
       END BIRTH,
       CASE
         WHEN PHONE IS NOT NULL AND PHONE <> '' THEN
          PHONE
         ELSE
          (SELECT PHONE
             FROM F_REL_PIN_PERSON_BASE_MID B
            WHERE PHONE IS NOT NULL
              AND PHONE <> ''
              AND A.I_DNO = B.I_DNO
            ORDER BY TABLE_ORDER ASC,
                     RECORD_TIME DESC FETCH FIRST 1 ROWS ONLY)
       END PHONE,
       CASE
         WHEN CELL_PHONE IS NOT NULL AND CELL_PHONE <> '' THEN
          CELL_PHONE
         ELSE
          (SELECT CELL_PHONE
             FROM F_REL_PIN_PERSON_BASE_MID B
            WHERE CELL_PHONE IS NOT NULL
              AND CELL_PHONE <> ''
              AND A.I_DNO = B.I_DNO
            ORDER BY TABLE_ORDER ASC,
                     RECORD_TIME DESC FETCH FIRST 1 ROWS ONLY)
       END CELL_PHONE,
       HOUSEHOLD_TYPE,
       AVAILABLY_TAG,
       HOUSEHOLD_REGION,
       UNIQUE_PERSON_ID,
       CURRENT TIMESTAMP AS LOAD_ODS_TIMESTAMP
  FROM F_REL_PIN_PERSON_BASE_MID_TMP A收起
参与15

查看其它 9 个回答leo_wyn的回答

leo_wynleo_wyn商业智能工程师Security
为什么要使用子查询来获取字段值呢?
系统集成 · 2015-06-25
浏览1073

回答者

leo_wyn
商业智能工程师Security

leo_wyn 最近回答过的问题

回答状态

  • 发布时间:2015-06-25
  • 关注会员:0 人
  • 回答浏览:1073
  • X社区推广