Ролик можно посмотреть здесь.
Как это ни странно на первый взгляд: при сжатии не только уменьшается объем данных на диске, но и возрастает скорость выполнения запроса !
Это происходит за счет уменьшения ввода-вывода (СУБД меньше читает и пишет на диск), а это самая ресурсоёмкая операция. И это происходит не на каком-то искусственном тесте, а в реальном приложении !
Программное окружение было аналогичным как в демонстрации Вадима.
Сервер приложений "1C:Предприятие" также работал под управлением ОС Oracle Linux x64 5U6.
Основная идея демонстрации – показать:
- Возможности Enterprise Manager для быстрого обнаружения ресурсоёмкого SQL-запроса, который являлся причиной долгого выполнения одного из бухгалтерских отчётов приложения "1С:Предприятие 8.2";
- Быстрота и удобство анализа плана SQL-запроса;
- Удобство навигации от плана запроса к редактированию свойств таблицы;
- Эффективность сжатия данных с помощью Advanced Compression, которое позволяет не только уменьшить объём данных на диске, но и значительно ускорить выполнение запроса за счёт уменьшения количества обрабатываемых блоков.
Поскольку Андрей (как и все мы впрочем) не является специалистом в бухгалтерском учёте, выбранный отчёт «Анализ субконто» и параметры этого отчёта могут показаться опытному бухгалтеру некорректными, но цель была одна - нагрузить БД таким образом, чтобы набор обрабатываемых данных был наибОльшим в тестовой БД.
К сожалению, в текущей версии "1С:Предприятие" не поддерживается настройка сжатия данных таблицы через интерфейс самой 1С, что приводит к возможной потери этой настройки при обновлении конфигурации 1С, но это уже совсем другая история ... Следите за следующими публикациями !
Приятного просмотра!
Cсылка: видео.
А то, что при втором запуске отчета данные уже были в буферном кеше после первого прохода это не имеет значения да?
ОтветитьУдалитьВы невнимательно смотрели демо: перед вторым выполнением отчета Андрей перемещает таблицу для ее сжатия - "alter table xyz move".
ОтветитьУдалитьСоответственно, в кэше уже не будет старых блоков и отчет за данными полезет на диск, то есть инициирует ввод-вывод, но которого уже будет в 4 раза меньше!