Yandex Metrika

Ускорение Битрикс

В этом разделе можете почитать статьи об ускорении сайтов на Битрикс

Рекомендуем

Сброс пароля root в MySQL/MariaDB (skip-grant-tables) для админа Битрикс

Зачем это понадобится На машине с 1С‑Битриксом пароль учётной записи БД нужен хотя бы для дампа (см. mysqldump ), миграции и восстановления. Если записи пароля из .settings.php и бэкапов нет или не подходит аккаунт с админ‑правами, остаётся стандартный путь восстановления через однопользовательский режим mysqld .…

Читать статью
5 мин

Ускорение Bitrix: catalog.section — урезать select в getElementList

.section (раздел «Ускорение» / витрина). На списке раздела тяжёлые поля вроде DETAIL_TEXT часто не нужны шаблону: их можно не тащить из БД, сузив массив $selectFields перед CIBlockElement::GetList . Идея Копируете шаблон компонента bitrix:catalog.section , подключаете класс компонента и объявляете наследника. В…

5 мин

Ускорение Битрикс: отключение лишнего JS ядра и стилей

Ниже kernel_main.js и сопутствующих стилей — лишние килобайты ухудшают метрики. Ниже — осмысленные шаги и крайний вариант через буфер, плюс на что смотреть в консоли. Долгосрочная альтернатива без BX — ванильный JavaScript в шаблонах . Сначала безопасные настройки В компонентах, где параметр поддерживается,…

5 мин

Сброс кеша инфоблока при изменении связанного highload-блока (D7)

Когда это нужно Типичный кейс: в инфоблоке хранятся «основные» материалы, а в highload — служебные справочники (флаги, подписи, привязки), из которых собирается финальный HTML в компонентах. Компоненты кешируют результат и помечают запись тегами вида iblock_id_N . Пока меняется только HL, ядро само по себе не обязано…

5 мин

Индексы MySQL: ускорить ORM D7 и highload-блоки

Как через SHOW INDEX и SHOW COLUMNS понять схему таблицы, добавить простой или составной индекс под типовые фильтры ORM и hlblock и безопасно убрать лишнее имя индекса.

5 мин

Минимальный MSSQL после MySQL: пагинация, версия и размер базы

Смещённые страницы в T-SQL через OFFSET‑FETCH NEXT и альтернативы через ROW_NUMBER, выбор редакции через @@VERSION и быстрый снимок дискового следа sp_spaceused — полезный набор смежному MySQL-девопсу рядом с Битрикс и гибридными выгрузками.

5 мин

MySQL против Microsoft SQL Server: ориентиры для смешанных стеков

Контекст Интернет‑магазин и типовые модули 1С‑Битрикс ориентируют на MySQL/MariaDB. SQL Server часто уже есть в офисной инфраструктуре (обмен с 1С, отчётность, .NET). Сравнивают не абстрактно «кто быстрее», а совместимость с вашим приложением. Матрица «что имеет значение рядом с Битрикс» Тема MySQL SQL Server…

5 мин

Сравнение двух списков в MySQL: LEFT JOIN против расхождений

Типичный кейс Нужно сверить два набора ключей — например, номера платежей по банку и по вашему интернет‑магазину на Битрикс ( b_sale_* или кастомные таблицы). Самый прямой путь через временные таблицы и два зеркальных LEFT JOIN . Таблицы для сличения CREATE TABLE t_bank ( id VARCHAR(64) NOT NULL DEFAULT '', UNIQUE…

5 мин

Доработка схемы БД: обратная совместимость и ускорение после MSSQL→MySQL

Денормализация для скорости: часть данных из большой таблицы FieldMapping переносится в Document ; обратную совместимость обеспечивают триггеры и функция разбора дат. Избавляемся от JOIN Для ускорения выборки запросы с JOIN переписываются на обычный SELECT : часть полей из FieldMapping (≈1,5M строк) добавляются в…

5 мин

Миграция хранимых процедур T-SQL MSSQL → MySQL

Примеры портирования хранимых процедур T-SQL на MySQL: параметры OUT, BIT, IMAGE, SCOPE_IDENTITY и динамический INSERT в связке документов и полей. CreateDocument На MSSQL: ALTER PROCEDURE [dbo].[CreateDocument] @idedo INT = NULL, @sigOne INT = NULL, @sigTwo INT = NULL, @keyOne nvarchar(50), @keyTwo nvarchar(50),…

5 мин

Миграция данных MSSQL → MySQL (порциями)

Миграция как последовательное считывание записей порциями (по 100) с переносом связанных данных из других таблиц — пример CLI‑скрипта для Битрикс и устаревшего расширения mssql_* (исторический материал с .ru). Скрипт /** * * Скрипт миграции данных во временную или реальную базу данных под CMS Bitrix * **/…

5 мин

Миграция таблиц MSSQL → MySQL

Примеры CREATE TABLE для Document, Field и FieldMapping: BIT → TINYINT, IMAGE → LONGBLOB, NVARCHAR → VARCHAR, составной первичный ключ вместо суррогата — шпаргалка по схеме при переносе с SQL Server на MySQL рядом с Битриксом.

5 мин

Общие вопросы миграции MSSQL на MySQL

Обе СУБД близки к SQL-92 и имеют много общего (см. сравнение MySQL и SQL Server), но при переносе приложения с MSSQL на MySQL всплывают и несовместимости, и полезные приёмы. Суть проблем несовместимость T-SQL — портирование хранимых процедур; расхождения в типах таблиц — обычно поправимо DDL; схема не оптимальна под…

5 мин

Типовые ошибки при миграции MySQL → PostgreSQL с pgloader и как их снять

Введение При переносе на PostgreSQL сообщения об ошибках часто выглядят страшнее, чем есть на самом деле. Ниже — несколько повторяющихся классов проблем, с которыми сталкиваются команды, использующие pgloader ; для проекта на 1С‑Битрикс прямой параллели с ядром нет, но те же паттерны встречаются в смежных…

5 мин

Примеры pgloader: LOAD DATABASE, исключения таблиц и правки до/после загрузки

Идея сценария LOAD DATABASE в pgloader описывает источник ( mysql://… ), приёмник ( postgresql://… ), режимы загрузки и произвольные SQL-кусочки до и после потока данных. Такой стиль удобен, когда нужно обойти ограничение по имени целевой схемы, временно ослабить FK или выкинуть технические таблицы очередей из…

5 мин

Установка pgloader: перенос с MySQL/MariaDB на PostgreSQL (и зачем это знать рядом с 1С‑Битрикс)

Короткая шпаргалка по сборке pgloader на сервере класса Oracle Linux/RHEL: какие пакеты понадобятся до запуска бинарника с GitHub и куда смотреть в официальной документации. Смысл для проектов на 1С‑Битрикс: ядро живёт на MySQL/MariaDB, но рядом часто всплывают отдельные сервисы, аналитика или будущий слой на PostgreSQL — тогда pgloader оказывается в арсенале администратора.

5 мин

План переноса MySQL → PostgreSQL: приложение рядом с Битрикс

Зачем отделять приложение от MySQL основного сайта Типичный стек Битрикс остаётся на MySQL, но смежный микросервис можно перевести на PostgreSQL без трогания боевой базы интернет‑магазина. Ниже — практический план на примере отдельного сервиса вроде us-mortgage : сначала код и схема, затем остановка, перенос данных и…

5 мин

Иерархия в MySQL: дерево разделов и строковые ключи

Классический обход дерева через пользовательские переменные и FIND_IN_SET, ловушка с UUID и почему в MySQL 8 разумнее рекурсивный CTE для цепочки родителей в справочниках и кастомных таблицах.

5 мин

sql_mode после обновления MySQL: ONLY_FULL_GROUP_BY и что делать на сервере с Битрикс

Откуда берётся ошибка С версии MySQL 5.7.5 в стандартный набор включили ONLY_FULL_GROUP_BY . Движок требует, чтобы каждая колонка в списке SELECT при наличии GROUP BY либо входила в группировку, либо однозначно выводилась из группы через агрегат. Старый SQL с «случайной» недетерминированной колонкой теперь падает с…

5 мин

Сравнение схем MySQL: dev и prod в проекте на Битрикс

Два дампа структуры через mysqldump без данных и обычный diff — быстрый способ увидеть расхождения схемы между копией сайта и боем до деплоя миграций или после ручных правок в phpMyAdmin.

2