════════════════════════════════════════════════════════════════════════════════════════════════════ 🗄️ АНАЛИЗАТОР ИНДЕКСОВ БАЗЫ ДАННЫХ ════════════════════════════════════════════════════════════════════════════════════════════════════ ════════════════════════════════════════════════════════════════════════════════════════════════════ 📊 Анализ запроса: Получение активных элементов инфоблока ════════════════════════════════════════════════════════════════════════════════════════════════════ SQL: SELECT * FROM b_iblock_element WHERE IBLOCK_ID = 1 AND ACTIVE = 'Y' ORDER BY SORT ASC 📋 Результаты EXPLAIN: ──────────────────────────────────────────────────────────────────────────────────────────────────── ┌─ Таблица: b_iblock_element │ Тип: range │ Возможные ключи: ix_iblock_element_1,ix_iblock_element_4,ix_iblock_element_code,ix_iblock_element_name,IX_BE_IBLOCK_ACTIVE,IX_BE_ACTIVE_DATES,IX_BE_SORT_NAME,idx_iblock_element_name_search,idx_iblock_element_active_dates,idx_iblock_element_main,idx_iblock_element_search,ix_be_iblock_active_sort │ Используемый ключ: idx_iblock_element_main │ Строк проверено: 2 │ Дополнительно: Using index condition └─ ✓ Запрос оптимизирован, дополнительные индексы не требуются. ════════════════════════════════════════════════════════════════════════════════════════════════════ 📊 Анализ запроса: JOIN элементов и разделов ════════════════════════════════════════════════════════════════════════════════════════════════════ SQL: SELECT e.* FROM b_iblock_element e INNER JOIN b_iblock_section s ON e.IBLOCK_SECTION_ID = s.ID WHERE s.IBLOCK_ID = 1 📋 Результаты EXPLAIN: ──────────────────────────────────────────────────────────────────────────────────────────────────── ┌─ Таблица: s │ Тип: ref │ Возможные ключи: PRIMARY,ix_iblock_section_1,ix_iblock_section_depth_level,ix_iblock_section_code,ix_iblock_section_left_margin2,ix_iblock_section_right_margin2,ix_sec_iblock_margins │ Используемый ключ: ix_iblock_section_1 │ Строк проверено: 1 │ Дополнительно: Using index └─ ┌─ Таблица: e │ Тип: ALL │ Возможные ключи: N/A │ Используемый ключ: нет │ Строк проверено: 92 999 │ Дополнительно: Using where; Using join buffer (hash join) └─ ⚠ РЕКОМЕНДАЦИИ ПО ИНДЕКСАМ: ──────────────────────────────────────────────────────────────────────────────────────────────────── 🔴 [HIGH] Таблица: b_iblock_element Проблема: Полное сканирование таблицы (type=ALL) Строк проверено: 92 999 ⚠ Не удалось определить поля для индекса ════════════════════════════════════════════════════════════════════════════════════════════════════ 📊 Анализ запроса: Товары в наличии ════════════════════════════════════════════════════════════════════════════════════════════════════ SQL: SELECT * FROM b_catalog_product WHERE QUANTITY > 0 AND AVAILABLE = 'Y' 📋 Результаты EXPLAIN: ──────────────────────────────────────────────────────────────────────────────────────────────────── ┌─ Таблица: b_catalog_product │ Тип: ALL │ Возможные ключи: idx_b_catalog_product_QUANTITY_AVAILABLE,idx_catalog_product_quantity,idx_catalog_product_available │ Используемый ключ: нет │ Строк проверено: 112 136 │ Дополнительно: Using where └─ ⚠ РЕКОМЕНДАЦИИ ПО ИНДЕКСАМ: ──────────────────────────────────────────────────────────────────────────────────────────────────── 🔴 [HIGH] Таблица: b_catalog_product Проблема: Полное сканирование таблицы (type=ALL) Строк проверено: 112 136 ✓ Поля для индекса: QUANTITY, AVAILABLE ════════════════════════════════════════════════════════════════════════════════════════════════════ 📝 SQL КОМАНДЫ ДЛЯ СОЗДАНИЯ ИНДЕКСОВ ════════════════════════════════════════════════════════════════════════════════════════════════════ ⚠ Для таблицы b_iblock_element не удалось определить колонки для индекса ✓ Нет новых индексов для создания. ════════════════════════════════════════════════════════════════════════════════════════════════════ ✅ АНАЛИЗ ЗАВЕРШЕН ════════════════════════════════════════════════════════════════════════════════════════════════════