Здравствуйте, подскажите пожайлуста. Проблема в следующем. ИБ имеет 1.5 милиона позиций в компоненте catalog.section создаётся запрос который очень долго обрабатыается. Как я понял идёт просчёт всех элементов в базе. Было подозрение на это http://allweeks.ru/2011/10/mysql-5-0-77-complexity-of-the-query-and-statistics-state/ Но админ вроде устоновил нужные конфиги базы. в фильтре CIBlockElement::GetList: array_merge($arrFilter, $arFilter) Array ( [IBLOCK_ID] => 16 [IBLOCK_LID] => s1 [IBLOCK_ACTIVE] => Y [ACTIVE_DATE] => Y [ACTIVE] => Y [CHECK_PERMISSIONS] => Y [MIN_PERMISSION] => R [CATALOG_SHOP_QUANTITY_7] => 1 )
Сам запрос к базе из-за которого сайт не отвечает: SELECT COUNT('x') as C 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 INNER JOIN b_iblock_element_prop_s16 FPS0 ON FPS0.IBLOCK_ELEMENT_ID = BE.ID LEFT JOIN b_catalog_price CAT_P7 ON (CAT_P7.PRODUCT_ID = BE.ID AND CAT_P7.CATALOG_GROUP_ID = 7) AND ((CAT_P7.QUANTITY_FROM <= 1 OR CAT_P7.QUANTITY_FROM IS NULL) AND (CAT_P7.QUANTITY_TO >= 1 OR CAT_P7.QUANTITY_TO IS NULL)) LEFT JOIN b_catalog_product CAT_PR ON (CAT_PR.ID = BE.ID) LEFT JOIN b_catalog_iblock CAT_IB ON ((CAT_PR.VAT_ID IS NULL OR CAT_PR.VAT_ID = 0) AND CAT_IB.IBLOCK_ID = BE.IBLOCK_ID) LEFT JOIN b_catalog_vat CAT_VAT ON (CAT_VAT.ID = IF((CAT_PR.VAT_ID IS NULL OR CAT_PR.VAT_ID = 0), CAT_IB.VAT_ID, CAT_PR.VAT_ID)) WHERE 1=1 AND ( ((((BE.IBLOCK_ID = '16')))) AND (EXISTS ( SELECT IBLOCK_ID FROM b_iblock_site WHERE IBLOCK_ID = B.ID AND (((SITE_ID='s1'))) )) AND ((((B.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.ACTIVE='Y')))) AND ( 1=1 ) ) AND (((BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))