Hello Anna
I checked inside SQL Query Performance...
that not consider PROPERTY_UF_HIRE_DATE field inside Query.
Original Query which include "ORDER BY BE.ACTIVE_FROM desc"
| Code |
|---|
SELECT BE.IBLOCK_ID as IBLOCK_ID,BE.NAME as NAME,IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%m/%d/%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%m/%d/%Y')) as DATE_ACTIVE_FROM, FPV0.VALUE as PROPERTY_USER_VALUE, FPV0.ID as PROPERTY_USER_VALUE_ID,IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%m/%d/%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%m/%d/%Y')) as ACTIVE_FROM
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
LEFT JOIN b_iblock_property FP0 ON FP0.IBLOCK_ID = B.ID AND FP0.CODE='USER'
LEFT JOIN b_iblock_property FP1 ON FP1.IBLOCK_ID = B.ID AND FP1.CODE='STATE'
LEFT JOIN b_iblock_element_property FPV0 ON FPV0.IBLOCK_PROPERTY_ID = FP0.ID AND FPV0.IBLOCK_ELEMENT_ID = BE.ID
LEFT JOIN b_iblock_element_property FPV1 ON FPV1.IBLOCK_PROPERTY_ID = FP1.ID AND FPV1.IBLOCK_ELEMENT_ID = BE.ID
WHERE
1=1 AND ( ((((BE.IBLOCK_ID = '12')))) AND ((((BE.ACTIVE='Y')))) AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL))) AND ( ((((BE.PREVIEW_TEXT LIKE '%Employed%')))) OR ((((FPV1.VALUE_ENUM = '265')))) ) ) AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY
BE.ACTIVE_FROM desc
LIMIT 5
|
after change array('PROPERTY_UF_HIRE_DATE' => 'desc')
which not consider PROPERTY_UF_HIRE_DATE field inside query ???
| Code |
|---|
SELECT BE.IBLOCK_ID as IBLOCK_ID,BE.NAME as NAME,IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%m/%d/%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%m/%d/%Y')) as DATE_ACTIVE_FROM, FPV0.VALUE as PROPERTY_USER_VALUE, FPV0.ID as PROPERTY_USER_VALUE_ID
FROM
b_iblock B
INNER JOIN b_lang L ON B.LID=L.LID
INNER JOIN b_iblock_element BE ON BE.IBLOCK_ID = B.ID
LEFT JOIN b_iblock_property FP0 ON FP0.IBLOCK_ID = B.ID AND FP0.CODE='USER'
LEFT JOIN b_iblock_property FP1 ON FP1.IBLOCK_ID = B.ID AND FP1.CODE='STATE'
LEFT JOIN b_iblock_element_property FPV0 ON FPV0.IBLOCK_PROPERTY_ID = FP0.ID AND FPV0.IBLOCK_ELEMENT_ID = BE.ID
LEFT JOIN b_iblock_element_property FPV1 ON FPV1.IBLOCK_PROPERTY_ID = FP1.ID AND FPV1.IBLOCK_ELEMENT_ID = BE.ID
WHERE
1=1 AND ( ((((BE.IBLOCK_ID = '12')))) AND ((((BE.ACTIVE='Y')))) AND (((BE.ACTIVE_TO >= now() OR BE.ACTIVE_TO IS NULL) AND (BE.ACTIVE_FROM <= now() OR BE.ACTIVE_FROM IS NULL))) AND ( ((((BE.PREVIEW_TEXT LIKE '%Employed%')))) OR ((((FPV1.VALUE_ENUM = '265')))) ) ) AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
LIMIT 5
|
then why that field not appear in SQL query?