Всем привет!
На хостинге заблокировали аккаунт, из-за того, что мол у них сервер встал после выполнения моего запроса. Этот запрос идет, на сколько я понимаю после поиска фильтром по всем свойствам товаров в каталоге.
Гоняла этот запрос на своей базе - всё окей. Выполнился за 0.01 сек. Не мудрено что он должен подтормаживать, ведь поиск идет по большому количеству таблиц с применением команды "like", которая сама по себе медленно работает. Но почему же все-таки у них сервер валится на этом запросе!?
Либо, может, надо какие-то доп настройки пропиать в битриксе, чтобы нагрузка при таком запросе на их сервер была бы не критична!?
На хостинге заблокировали аккаунт, из-за того, что мол у них сервер встал после выполнения моего запроса. Этот запрос идет, на сколько я понимаю после поиска фильтром по всем свойствам товаров в каталоге.
Код |
---|
SELECT DISTINCT BE.ID as ID,BE.NAME as NAME,BE.CODE as CODE,BE.IBLOCK_ID as IBLOCK_ID,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,BE.DETAIL_TEXT as DETAIL_TEXT,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,BE.DETAIL_PICTURE as DETAIL_PICTURE,BE.PREVIEW_TEXT as PREVIEW_TEXT,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,BE.PREVIEW_PICTURE as PREVIEW_PICTURE,L.DIR as LANG_DIR,BE.XML_ID as EXTERNAL_ID,B.IBLOCK_TYPE_ID as IBLOCK_TYPE_ID,B.CODE as IBLOCK_CODE,B.XML_ID as IBLOCK_EXTERNAL_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 INNER JOIN b_iblock_section_element BSE ON BSE.IBLOCK_ELEMENT_ID = BE.ID INNER JOIN b_iblock_section BSubS ON BSE.IBLOCK_SECTION_ID = BSubS.ID INNER JOIN b_iblock_section BS ON (BSubS.IBLOCK_ID=BS.IBLOCK_ID AND BSubS.LEFT_MARGIN>=BS.LEFT_MARGIN AND BSubS.RIGHT_MARGIN<=BS.RIGHT_MARGIN) INNER JOIN b_iblock_property FP1 ON FP1.IBLOCK_ID=B.ID AND FP1.CODE='code2' INNER JOIN b_iblock_element_property FPV1 ON FP1.ID=FPV1.IBLOCK_PROPERTY_ID AND FPV1.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP2 ON FP2.IBLOCK_ID=B.ID AND FP2.CODE='code3' INNER JOIN b_iblock_element_property FPV2 ON FP2.ID=FPV2.IBLOCK_PROPERTY_ID AND FPV2.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP3 ON FP3.IBLOCK_ID=B.ID AND FP3.CODE='code4' INNER JOIN b_iblock_element_property FPV3 ON FP3.ID=FPV3.IBLOCK_PROPERTY_ID AND FPV3.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP4 ON FP4.IBLOCK_ID=B.ID AND FP4.CODE='code5' INNER JOIN b_iblock_element_property FPV4 ON FP4.ID=FPV4.IBLOCK_PROPERTY_ID AND FPV4.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP5 ON FP5.IBLOCK_ID=B.ID AND FP5.CODE='code7' INNER JOIN b_iblock_element_property FPV5 ON FP5.ID=FPV5.IBLOCK_PROPERTY_ID AND FPV5.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP6 ON FP6.IBLOCK_ID=B.ID AND FP6.CODE='code9' INNER JOIN b_iblock_element_property FPV6 ON FP6.ID=FPV6.IBLOCK_PROPERTY_ID AND FPV6.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP7 ON FP7.IBLOCK_ID=B.ID AND FP7.CODE='code12' INNER JOIN b_iblock_element_property FPV7 ON FP7.ID=FPV7.IBLOCK_PROPERTY_ID AND FPV7.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP8 ON FP8.IBLOCK_ID=B.ID AND FP8.CODE='code15' INNER JOIN b_iblock_element_property FPV8 ON FP8.ID=FPV8.IBLOCK_PROPERTY_ID AND FPV8.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP9 ON FP9.IBLOCK_ID=B.ID AND FP9.CODE='code16' INNER JOIN b_iblock_element_property FPV9 ON FP9.ID=FPV9.IBLOCK_PROPERTY_ID AND FPV9.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP10 ON FP10.IBLOCK_ID=B.ID AND FP10.CODE='code18' INNER JOIN b_iblock_element_property FPV10 ON FP10.ID=FPV10.IBLOCK_PROPERTY_ID AND FPV10.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP11 ON FP11.IBLOCK_ID=B.ID AND FP11.CODE='code23' INNER JOIN b_iblock_element_property FPV11 ON FP11.ID=FPV11.IBLOCK_PROPERTY_ID AND FPV11.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP12 ON FP12.IBLOCK_ID=B.ID AND FP12.CODE='code26' INNER JOIN b_iblock_element_property FPV12 ON FP12.ID=FPV12.IBLOCK_PROPERTY_ID AND FPV12.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP13 ON FP13.IBLOCK_ID=B.ID AND FP13.CODE='code27' INNER JOIN b_iblock_element_property FPV13 ON FP13.ID=FPV13.IBLOCK_PROPERTY_ID AND FPV13.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP14 ON FP14.IBLOCK_ID=B.ID AND FP14.CODE='code32' INNER JOIN b_iblock_element_property FPV14 ON FP14.ID=FPV14.IBLOCK_PROPERTY_ID AND FPV14.IBLOCK_ELEMENT_ID=BE.ID INNER JOIN b_iblock_property FP15 ON FP15.IBLOCK_ID=B.ID AND FP15.CODE='code34' INNER JOIN b_iblock_element_property FPV15 ON FP15.ID=FPV15.IBLOCK_PROPERTY_ID AND FPV15.IBLOCK_ELEMENT_ID=BE.ID WHERE 1=1 AND B.ID IN (0,42) AND ( (BE.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL) ) AND (((( (upper(BE.NAME) like upper('%acer7730G%') and BE.NAME is not null) )))) AND (((( (upper(FPV1.VALUE) like upper('%Intel%') and FPV1.VALUE is not null) AND (upper(FPV1.VALUE) like upper('%Core2Duo%') and FPV1.VALUE is not null) AND (upper(FPV1.VALUE) like upper('%T5850%') and FPV1.VALUE is not null) AND (upper(FPV1.VALUE) like upper('%2.16GHz%') and FPV1.VALUE is not null) )))) AND (((( (upper(FPV2.VALUE) like upper('%4096Mb%') and FPV2.VALUE is not null) AND ( (upper(FPV2.VALUE) like upper('%4Gb%') and FPV2.VALUE is not null) ) AND (upper(FPV2.VALUE) like upper('%DDRII%') and FPV2.VALUE is not null) )))) AND (((( (upper(FPV3.VALUE) like upper('%2x320Gb%') and FPV3.VALUE is not null) AND (upper(FPV3.VALUE) like upper('%5400rpm%') and FPV3.VALUE is not null) AND (upper(FPV3.VALUE) like upper('%SATA%') and FPV3.VALUE is not null) )))) AND (((( (upper(FPV4.VALUE) like upper('%17%') and FPV4.VALUE is not null) )))) AND (((( (upper(FPV5.VALUE) like upper('%??%') and FPV5.VALUE is not null) )))) AND (((( (upper(FPV6.VALUE) like upper('%64Mb%') and FPV6.VALUE is not null) AND ( (upper(FPV6.VALUE) like upper('%??%') and FPV6.VALUE is not null) AND (upper(FPV6.VALUE) like upper('%958Mb%') and FPV6.VALUE is not null) ))))) AND (((( (upper(FPV7.VALUE) like upper('%??%') and FPV7.VALUE is not null) )))) AND (((( (upper(FPV8.VALUE) like upper('%Bluetooth%') and FPV8.VALUE is not null) AND (upper(FPV8.VALUE) like upper('%V2.0%') and FPV8.VALUE is not null) AND (upper(FPV8.VALUE) like upper('%EDR%') and FPV8.VALUE is not null) )))) AND (((( (upper(FPV9.VALUE) like upper('%4%') and FPV9.VALUE is not null) )))) AND (((( (upper(FPV10.VALUE) like upper('%??%') and FPV10.VALUE is not null) )))) AND (((( (upper(FPV11.VALUE) like upper('%??%') and FPV11.VALUE is not null) )))) AND (((( (upper(FPV12.VALUE) like upper('%??%') and FPV12.VALUE is not null) )))) AND (((( (upper(FPV13.VALUE) like upper('%WebCam%') and FPV13.VALUE is not null) AND (upper(FPV13.VALUE) like upper('%1,3Mpx%') and FPV13.VALUE is not null) )))) AND (((( (upper(FPV14.VALUE) like upper('%?????%') and FPV14.VALUE is not null) )))) AND (((( (upper(FPV15.VALUE) like upper('%12%') and FPV15.VALUE is not null) AND (upper(FPV15.VALUE) like upper('%???????%') and FPV15.VALUE is not null) )))) AND ((((BE.IBLOCK_ID = '42')))) 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 ((BS.ID = 224)) ORDER BY BE.SORT asc , BE.ID desc LIMIT 0, 30 |
Гоняла этот запрос на своей базе - всё окей. Выполнился за 0.01 сек. Не мудрено что он должен подтормаживать, ведь поиск идет по большому количеству таблиц с применением команды "like", которая сама по себе медленно работает. Но почему же все-таки у них сервер валится на этом запросе!?
Либо, может, надо какие-то доп настройки пропиать в битриксе, чтобы нагрузка при таком запросе на их сервер была бы не критична!?