Описание оптимизации работы с 1С
Конфигурации, разработанные на базе Платформы 1С, могут взаимодействовать с базой данных СУБД Pangolin только при включенном параметре enable_1C_support = true
. В этом режиме система автоматически устанавливает параметры СУБД, необходимые для корректной работы с 1С. Параметры и их значения перечислены в таблице раздела «Поддержка 1С».
При изменении параметров, перечисленных в таблице, осуществляется включение набора оптимизаций в поведении алгоритмов:
-
Оптимизация статистики и планирования запросов:
- сбор статистики для мультистолбцовых индексов с целью лучшего предсказания избирательности мультистолбцовых
JOIN
; - переработка планов для случаев, когда известно, что часть планов возвращает пустые множества;
- предпочтение хеш-планов при незначительной разнице в стоимости;
- модификация копирования внутренних структур памяти в ядре СУБД;
- анализ условий выборки
WHERE
для индексного сканирования; - улучшение расчета избирательности на основе статистики мультистолбцовых ключей;
- пересмотр расчета оценки стоимости для выражения
COALESCE
; - изменение расчета стоимости выборки одной строки.
- сбор статистики для мультистолбцовых индексов с целью лучшего предсказания избирательности мультистолбцовых
-
Оптимизации обработки
JOIN
и группировки:- изменение
JOIN
самих на себя по уникальным столбцам (отключается параметромenable_self_join_removal
); - путь перестановки последовательности группировки по
GROUP BY
; - улучшение алгоритма нечеткого (fuzzy) сопоставления путей выполнения плана в части оценки затрат с использованием индексов;
- улучшение поиска уникальных слияний при построении плана запроса.
- изменение
-
Оптимизации работы с расширениями и строковыми операциями:
- изменение пути поиска функций
like_escape
иsimilar_to_escape
при лексическом анализе выражений для использования расширенияmchar
; - добавление поддержки операций над строками
mchar
; - улучшение внутреннего алгоритма подбора уникального названия столбца.
- изменение пути поиска функций
-
Прочие улучшения:
- периодическая проверка активности клиентских подключений;
- доработка алгоритмов оценки избирательности на основе гистограмм для мультистолбцовых ключей;
- изменение поведения параметра
default_with_oids
— вместо фатальной ошибки выдается предупреждение.