Подскажите, в каком виде запрос будет быстрее выполняться (проверить на больших объемах пока нет возможности)
1)
SELECT F.*, CJ.*, CP.* ;
FROM FIRM F ;
INNER JOIN CITY CJ ON F.JUR_CITY_ID=CJ.CITY_ID ;
AND IIF(nvl(?P_NAME,' ')=' ',1,UPPER(F.NAME))=IIF(nvl(?P_NAME,' ')=' ',1,UPPER(?P_NAME)) ;
AND IIF(nvl(?P_CJ,' ')=' ',1,UPPER(CJ.NAME))=IIF(nvl(?P_CJ,' ')=' ',1,UPPER(?P_CJ)) ;
LEFT JOIN CITY CP ON F.POST_CITY_ID=CP.CITY_ID ;
WHERE IIF(nvl(?P_CP,' ')=' ',1,UPPER(CP.NAME))=IIF(nvl(?P_CP,' ')=' ',1,UPPER(?P_CP))
2) или
SELECT F.*, CJ.*, CP.* ;
FROM FIRM F ;
INNER JOIN CITY CJ ON F.JUR_CITY_ID=CJ.CITY_ID ;
LEFT JOIN CITY CP ON F.POST_CITY_ID=CP.CITY_ID ;
WHERE ;
IIF(nvl(?P_NAME,' ')=' ',1,UPPER(F.NAME))=IIF(nvl(?P_NAME,' ')=' ',1,UPPER(?P_NAME)) ;
AND IIF(nvl(?P_CJ,' ')=' ',1,UPPER(CJ.NAME))=IIF(nvl(?P_CJ,' ')=' ',1,UPPER(?P_CJ)) ;
and IIF(nvl(?P_CP,' ')=' ',1,UPPER(CP.NAME))=IIF(nvl(?P_CP,' ')=' ',1,UPPER(?P_CP))
буду признательна за ответ
http://www.sql.ru/forum/1114784/optimizaciya-zaprosa