Мой запрос выглядит следующим образом. Если я просто запускаю запрос без отдельного, он занимает всего 11 секунд. Хотя требуется 46 секунд для работы с четкими. Какие-либо рекомендации по оптимизации этого?Оптимизация запроса выбора с DISTINCT
SELECT * FROM (
SELECT DISTINCT ELIGIBLE_TO_SIGN_DT
, LAST_NAME
, FIRST_NAME
, EXTENDED_LAST_NAME
, DT_OF_BIRTH
, BIRTH_COUNTRY_ID
, REG_BY
, LAST_UPDATED_BY
, REVIEW_STATUS_1
, REVIEW_STATUS_2
, REVIEW_STATUS_3
, MLSB_MATCH_FILTER
, REG_STATUS_ID
, REG_STATUS
, HAS_TRAVELED
, PLAYER_ID_SHOW
, MLSB_MATCH
, TRAINER_AGENT_NAME
, NATIONAL_ID
, RES_FOLLOW_UP
, ATTACHMENT
, COMMENTS
, PLAYER_ID
, CHECKBOX
, INTL_AMA_ENTRY_ID
, ALSO_REG_BY
, MIDDLE_NAME
, BIRTH_COUNTRY_NAME
FROM AS_INTL_ADMIN_REG_VIEW
where VARCHAR_FORMAT(ELIGIBLE_TO_SIGN_DT, 'YYYY-MM-DD') >= date('07/02/2015') AND VARCHAR_FORMAT(ELIGIBLE_TO_SIGN_DT, 'YYYY-MM-DD') <= date('08/31/2015')
) order by case when UPPER(LAST_NAME) is null or trim(UPPER(LAST_NAME)) = '' then 'ZZZZZZ' else UPPER(LAST_NAME) end ASC, case when FIRST_NAME is null or trim(FIRST_NAME) = '' then 'ZZZZZZ' else FIRST_NAME end ASC
limit 200 offset 0
проверка план выполнения запроса, чтобы увидеть стоимость различны. –
В моем плане исполнения не было различий. Более того, я вижу ту же стоимость, есть ли различное ключевое слово или нет. – suresh
опубликуйте план выполнения также вместе с этим –