Я использую один и тот же SQL (ниже) в двух разных средах с одинаковым набором индексов и размером таблицы.Но они дали мне 2 разных плана объяснения ( присоединено )
- использует декартово объединение слиянием - очень медленно
- использует координатор PX / PX Send / PX RECEIVE- очень быстро
Запрос:
SELECT *
FROM SIEBEL.S_PARTY PRTY, SIEBEL.S_CONTACT CONT, HPQ_IF_ENTERPRISE_DIRECTORY ED,SIEBEL.S_BU BU
WHERE PRTY.ROW_ID = CONT.PAR_ROW_ID
AND BU.ROW_ID(+)=CONT.BU_ID
AND CONT.EMP_NUM IS NOT NULL
AND ED.HPSTATUS NOT IN ('Terminated', 'Retired', 'Deceased')
AND ED.EMPLOYEENUMBER = UPPER (LPAD (CONT.EMP_NUM, 8, '0'))
AND (SUBSTR(ED.MODIFYTIMESTAMP,1,14) >= '19800101' OR ED.MODIFYTIMESTAMP IS NULL)
Есть идеи, что может вызвать эту разницу?И что означает 2-й план объяснения с (PX вещи)?
Обратите внимание, что я не ищу изменения SQL-запроса (зависание в производстве).
Большое спасибо.