Добрый день.
Имеется ситуация, на странице размещен компонент bitrix:news.list
[CODE]
<?$APPLICATION->IncludeComponent("bitrix:news.list", "", array(
"IBLOCK_TYPE" => "materials",
"IBLOCK_ID" => "7",
"NEWS_COUNT" => "5",
"SORT_BY1" => "ACTIVE_FROM",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "ACTIVE_FROM",
"SORT_ORDER2" => "DESC",
"FILTER_NAME" => "indexMedianewsFilter",
"FIELD_CODE" => array(
0 => "DATE_ACTIVE_FROM",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "",
1 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "#ELEMENT_CODE#.htm",
"AJAX_MODE" => "N",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "N",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "Y",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_TITLE" => "N",
"SET_STATUS_404" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "22",
"PARENT_SECTION_CODE" => "medianews",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "N",
"PAGER_TITLE" => "Новости",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_TEMPLATE" => "",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"DISPLAY_DATE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "N",
"DISPLAY_PREVIEW_TEXT" => "N",
"AJAX_OPTION_ADDITIONAL" => ""
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);?>
[/CODE]
Количество записей в инфоблоке > 20к, при включении отладки на сайте показывает что
нагрузку дает запрос
[CODE]
SELECT BE.ID as ID,BE.IBLOCK_ID as IBLOCK_ID,BE.IBLOCK_SECTION_ID as IBLOCK_SECTION_ID,BE.NAME as NAME,IF(EXTRACT(HOUR_SECOND
FROM
BE.ACTIVE_FROM)>0, DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y %H:%i:%s'), DATE_FORMAT(BE.ACTIVE_FROM, '%d.%m.%Y')) as ACTIVE_FROM,B.DETAIL_PAGE_URL as DETAIL_PAGE_URL,BE.DETAIL_TEXT as DETAIL_TEXT,BE.DETAIL_TEXT_TYPE as DETAIL_TEXT_TYPE,BE.PREVIEW_TEXT as PREVIEW_TEXT,BE.PREVIEW_TEXT_TYPE as PREVIEW_TEXT_TYPE,BE.PREVIEW_PICTURE as PREVIEW_PICTURE, FPS0.*,L.DIR as LANG_DIR,BE.SORT as SORT,BE.CODE as CODE,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,B.LID as LID
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_s7 FPS0 ON FPS0.IBLOCK_ELEMENT_ID = BE.ID
INNER JOIN ( SELECT DISTINCT B.ID
FROM
b_iblock B
INNER JOIN b_iblock_site BS ON BS.IBLOCK_ID = B.ID
WHERE
((((BS.SITE_ID='s1')))) AND ((((B.ID = '7')))) ) BB ON BB.ID = BE.IBLOCK_ID
WHERE
1=1 AND ( ((((BE.IBLOCK_ID = '7')))) 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.WF_STATUS_ID=1 AND BE.WF_PARENT_ELEMENT_ID IS NULL)))
ORDER BY
BE.ACTIVE_FROM desc ,BE.SORT asc ,BE.ID desc
LIMIT 2
[/CODE]
Время выполнения 35c.
Свойства инфоблока находятся в отдельной таблице.
Версия битрикса 10.0.1.
Сервер выделенный.
Если включить кеширование то всё ок, работает быстро но большое время первой генерации что неподходит.
Для настройки использовались
http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=3&LESSON_ID=21
http://dev.1c-bitrix.ru/support/faq/11571/
Собсно вопрос, какие могут быть возможные варианты увеличить скорость.
Спасибо.