1с что такое сжатие таблиц информационной базы

Обновлено: 04.07.2024


Создание DDL-триггера для операции создания таблицы:


CREATE TRIGGER [data_compression]
ON ALL SERVER
AFTER CREATE_TABLE
AS
--Текст триггера


Создание DDL-триггера для операции создания индекса:


CREATE TRIGGER [index_compression]
ON ALL SERVER
AFTER CREATE_INDEX
AS
--Текст триггера


Для установки признака сжатия страниц для таблицы необходимо выполнить код:


ALTER TABLE [имя базы].[имя схемы].[имя таблицы] REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)

Для установки признака сжатия страниц для индекса необходимо выполнить код:


ALTER INDEX [имя индекса] ON [имя базы].[имя схемы].[имя таблицы] REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)

В общем-то, уже этого достаточно, чтобы создать работоспособный механизм, который не позволит платформе 1С создать новую таблицу или индекс без сжатия, но мне захотелось большей гибкости в настройках :).


Ниже приведу решение в том виде, как оно используется у нас. Это позволило автоматически применить сжатие для всех баз данных на сервере.


Создана служебная база CompressionSetting с двумя таблицами:


1) Databases - для хранения списка баз, которые сжимать НЕ требуется.

CREATE TABLE [dbo].[Databases](
[name] [nvarchar](100) NULL ,
[active] [int] NULL
) ON [PRIMARY]

200 баз на сервере я внес в эту таблицу только одну – tempdb:



2) Trace – для мониторинга работы DDL-триггеров

CREATE TABLE [dbo].[trace](
[text] [nvarchar]( max ) NULL ,
[DatabaseName] [nvarchar]( max ) NULL ,
[DateTime] [datetime] NULL
) ON [PRIMARY]


Далее создал 2 DDL-триггера:


Сразу после создания триггеров никаких изменений в размере баз, конечно, не произойдет. Для сжатия уже имеющихся баз можно воспользоваться следующими методами:
1) Написать скрипт для поочередного перебора таблиц и индексов и установки для них признака сжатия. Мне этот вариант не понравился, т.к. на сжатие больших таблиц требуется очень много времени, база при этом раздувается, а потом очень долго уменьшается через SHRINK DATABASE.
2) Выполнить полную реструктуризацию через «Тестирование и исправление» . По времени быстрее, но база также раздувается и ее потом придется уменьшать через SHRINK DATABASE.
3) Самый оптимальный вариант, на мой взгляд – пересоздать базу через dt-файл. При этом готовая база изначально будет минимального размера, а время загрузки базы со сжатием мало отличается от загрузки в обычном режиме.


Относительно допустимости применения подобного метода сжатия я задавал вопрос в партнерской конференции, на что был в итоге получен следующий комментарий Сергея Нуралиева:

«…Можно считать позицией то, что мы считаем, что использование этих возможностей должно быть или запрещено или разрешено, но с адекватной поддержкой (методологической или программной). Вариант использования их без надлежащей поддержки мы считаем неправильным, так как он приводит к проблемам в администрировании.»

Таким образом, не думаю, что предлагаемый мной подход должен использоваться массово.
Администратор, решившийся на это, должен четко понимать что он делает и какие последствия могут быть.
В

Тестирование и исправление информационной базы 1С



Стоит помнить, что перед любыми действиями с информационной базой 1С необходимо выполнить ее резервное копирование.

В открывшемся окне несколько пунктов выбора вариантов проверки и режимов, и чтобы правильно установить параметры тестирования 1С и правильно установить галочки, нам нужно понимать суть происходящего. Рассмотрим, что означает каждый пункт и для чего он предназначен.


Реиндексация таблиц информационной базы 1С: что это

В результате программного сбоя индексы могут сбиваться, вследствие чего появляются ошибки, например в документе отсутствует наименование или количество, не заполнено поле и т.п.

Для исправления такого рода ошибок в базе 1С устанавливаем галочку Реиндексация таблиц информационной базы .


При тестировании и исправлении в 1С реиндексируются все таблицы. И хотя данный пункт занимает длительное время, он помогает решить большую часть проблем.

Проверка логической целостности информационной базы 1С

При создании новых объектов в информационной базе 1С 8.3 создаются новые таблицы, связанные с другими таблицами. Ошибки нарушающие логическую целостность могут возникнуть вследствие некорректного обновления программы 1С, выключения компьютера в момент создания или записи документа (или любого другого элемента программы), сбоя в работе сети.

При этом программа 1С может работать, но ошибка будет возникать при обращении к тому документу (или объекту) в момент создания которого произошел сбой.

При тестировании и исправлении и установке данной галочки будет произведена проверка логических ошибок в структурах таблиц информационной базы.


Проверка ссылочной целостности информационной базы 1С

В ходе работы с программой 1С могут возникнуть ссылки на несуществующие или разрушенные объекты, так называемые битые ссылки. Они могут в результате сбоя или непосредственного удаления объекта. В случае, если в ходе проверки будет такой объект найден, необходимо в настройке дополнительно галочками указать, какие действия с ним производить.


Пересчет итогов

Для удобства работы в программе 1С 8.3 существуют вспомогательные таблицы, которые хранят данные об уже просчитанных итогах. Они нужны, чтобы при обращении к необходимой информации она не выбиралась из общих таблиц, а получалась из таблицы итогов. Это значительно экономит время обработки информации.


Сжатие таблиц информационной базы 1С

При удалении объектов в информационной базе 1С (документов, справочников и т.п.) они не удаляются физически, эти записи остаются в таблицах, но пользователь их не видит. В результате накопления таких объектов, увеличивается объем информационной базы 1С, что приводит к замедлению работы.


Реструктуризация таблиц информационной базы 1С

Это создание заново структуры информационной базы, создание новых таблиц, и перенос старых данных в новые таблицы. Реструктуризация также происходит при обновлении информационной базы. В результате этих действий также возможно исправление некоторого рода ошибок программы 1С.



После установки параметров тестирования, нажимаем кнопку Выполнить и ждем результат.


В строке состояния отображается информация о ходе тестирования.


По окончании тестирования 1С будет выведена информация об ошибках и их исправлении.


Если в ходе тестирования возникли какие то проблемы, можно восстановить информационную базу из резервной копии, созданной до начала тестирования.

  • 1С оптимизация: что делать, если программа тормозит
  • Обновление 1С: как обновить конфигурацию самостоятельно
  • Утилита chdbfl.exe для 8.3
  • Свертка базы 1С 8.3
  • Резервное копирование 1С 8.3 Бухгалтерия 3.0
  • Как удалить помеченные на удаление документы в 1С 8.3

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

    У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.ФНС в Письме от 13.08.2020 N СД-4-3/13009@ дала разъяснения, что..С 2021 года на всей территории России страховое обеспечение по.

Карточка публикации

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>

Все комментарии (4)

В какой последовательности лучше выставлять режимы проверки? Ведь устанавливать все флаги сразу не совсем правильное решение?

В любой конфигурации 1С предусмотрена возможность хранения электронных документов. Среди них могут быть входящие и исходящие документы, получаемые из сервиса 1С-Отчётность – уведомления, сверки, ответы на требования и прочие.

По мере накопления в базе файлов она работает всё медленнее. Чтобы сохранять высокую работоспособность базы, можно перенести её на сервер, уменьшить размер отправляемых файлов, либо почистить её, просто выгрузив лишнее. В этой статье будут рассмотрены способы уменьшения размера базы.

Вложенные файлы в 1С – где они расположены?

Чтобы посмотреть вложения, нужно нажать на кнопку-скрепку «Присоединённые файлы».



Документы могут быть в формате XML, либо сканированными в форматах JPG, PNG, TIF, PDF.



В справочники и журналы документов можно добавлять документы любого формата: таблицы Excel, текстовые документы Word, архивы и прочие.



«Кнопка-скрепка» есть в большей части журналов и документов – на неё стоит обратить внимание.



Если нажать её, можно будет загрузить документ в базу с диска.

Как уменьшить размер базы 1С

О наличии прикреплённого вложения после этого будет говорить значок в виде скрепки в строке документа.



Загружать можно как через журналы либо документы, так и через справочники 1С. К примеру, договор контрагента в раздел «Справочники» – «Договоры».



Это весьма удобно, ведь документы постоянно в базе и их не приходится искать – можно посмотреть сразу, как только понадобились. Но постепенно база из-за этого растёт, и в какой-то момент может начать доставлять неудобства из-за ощутимо снизившейся скорости работы.

Разберём, какими способами бороться с этим.

Варианты решения: сохранение на диск или сервер, архивация документов

В 1С доступны следующие варианты решения проблемы с размером базы:

  • Первый – хранить файлы на диске компьютера в томах. При такой настройке документы будут доступны из базы столь же легко, как если бы они в ней хранились, но в действительности хранятся на диске компьютера либо на сервере в отдельной папке.
  • Второй – сохранение документов из базы в архив. Файлы при этом удаляются из базы, так что из программы 1С они не будут доступны, но в любой момент их можно будет восстановить из архива.

Какой вариант применить решать самому пользователю, далее будет рассмотрена настройка каждого из них.

Важно: в любом случае обязательно сохранить копию базы. Дело даже не в том, что неприятности могут случиться во время выгрузки данных (хотя такая вероятность существует), просто после очищения из базы лишних файлов вернуться к ним обычно уже не получится.

К примеру, в базе находится требование о предоставлении документов и ваш ответ на него с вложенными файлами. После очищения данных вложенные файлы просто пропадут – их больше не будет в базе, так что само требование вы увидеть сможете, а вот посмотреть детали уже нет. Именно поэтому обязательно нужно сохранить копию базы, ведь к старым документам нередко приходится возвращаться.

Если вы боитесь выполнять описанные процедуры самостоятельно, стоит доверить их специалистам по 1С.

Далее рассмотрим, как очистить базу 1С от всего лишнего.

Хранение файлов на диске компьютера

Эта настройка применяется ко всей базе, храниться так будут все документы, прикреплённые в 1С. Пользователь не будет замечать разницы во время работы – так, словно всё хранится в базе самой программы.

Шаг первый. Чтобы настроить хранение файлов на диске, нужно перейти в раздел «Администрирование», отыскать подраздел «Настройки программы» и открыть в нём «Настройки работы с файлами».



Есть два варианта настройки хранения файлов на томах на диске:

  • только в томах на диске;
  • в информационной базе и томах на диске.



Если выбрать первый вариант, все документы будут храниться на диске компьютера.



Если выбрать второй вариант, появится возможность настроить, что стоит сохранять в информационной базе 1С, а что на диске. В поле «Расширения файлов, хранящихся в информационной базе» можно задать расширения вручную через пробел, либо выбрать из списка и убрать ненужное.



Можно установить ограничение по объёму файла в информационной базе. В таком случае все превышающие это ограничение файлы будут отправляться на диск вне зависимости от других настроек.



Пока настройка хранения файлов в томах не проведена пользователем, все они сохраняются в информационную базу. При переключении программа об этом напомнит и предложит настроить тома хранения файлов.



Когда определитесь с вариантом хранения, нужно будет выполнить настройку томов.

Если стоит галочка «Создавать подкаталоги с именами справочников-владельцев файлов», то файлы в томах будут размещаться в папках-подкаталогах.

Шаг второй. Нажмите на гиперссылку «Тома хранения файлов», выделенную на картинке ниже.



Шаг третий. В появившемся окне нажмите на кнопку «Создать» и проведите настройку.



Шаг четвёртый. Дайте тому наименование – оно может быть любым, и укажите путь к нему на сервере. Задайте его максимальный объём в мегабайтах.



Путь к папке, в которой будут храниться документы, должен быть сетевым, в ином случае настройка просто не будет сохранена в программе.

Если сеть настроена и доступ для других компьютеров открыт, нужно лишь создать папку для хранения документов и указать в настройке.

Если сети нет и папку требуется создать на текущем компьютере, нужно перейти к следующему этапу.

Шаг пятый. Создайте папку на диске. В рассматриваемом примере она создана на диске D и называется «Документы 1С». После этого щёлкните по ней правой кнопкой мыши и зайдите в «Свойства».



Шаг шестой. Нажмите на закладку «Доступ», затем на кнопку «Общий доступ. ».





Появится окно, где нужно просто нажать на «Готово» и сетевой доступ к папке будет открыт. Скопировать его можно будет на закладке «Доступ». Если доступ к папке у пользователя был открыт, нужно его проверить и скопировать путь к папке, после чего указать в поле настройки хранения томов.



Шаг восьмой. Когда путь к папке будет указан, нажмите «Записать и закрыть».



В результате проведённой настройки файлы прикрепляемых документов будут сохраняться на диск компьютера. Но что насчёт информации, которая уже есть в базе? Они тоже занимает место, а многие принимаются за настройку лишь когда база становится очень велика и начинает мешать работе.

Настройте перенос: он должен быть сделан из информационной базы в указанный том. Нажмите «Перенести».



Доступны дополнительные настройки переноса, так, можно отметить файлы указанного владельца и загрузить только договоры, как указано на рисунке.



Шаг десятый. Найдите раздел «Администрирование», затем подраздел «Обслуживание».



Шаг одиннадцатый. Разверните «Регламентные операции», нажмите на гиперссылку «Регламентные и фоновые задания».



Шаг двенадцатый. Выделите отмеченную на картинке ниже строку и нажмите «Выполнить сейчас».



Переносится только 10 файлов, так что пользователю удобнее настроить расписание выполнения указанного задания для автоматического запуска переноса по кнопке «Настроить расписание. ».

Когда файлы будут перенесены в том, желательно сжать таблицы базы 1С, поскольку записи информации всё ещё хранятся в них.

Сжатие таблиц в режиме «Конфигуратор»

Чтобы сжать таблицы, нужно сделать следующее:

Запустите базу в режиме «Конфигуратор».



Отправьтесь в раздел «Администрирование» и нажмите на «Тестирование и исправление. ».



Установите галочку и нажмите «Выполнить».

Ставить галочку следует в пункты:

«Сжатие таблиц информационной базы» для файлового варианта информационной базы.



«Реструктуризация таблиц информационной базы» для клиент-серверного варианта.



В результате база будет сжата и её размер уменьшится.

Архивирование документов

Ещё один способ выгрузить документы из программы – провести их архивирование. Для этого потребуется скачать с сайта 1С обработку «Создание архива документооборота».

Стоит напомнить: если пользоваться этим вариантом, доступа из программы к документам не будет. Если потребуется, их можно будет восстановить из архива при помощи той же обработки.

Перед началом архивации стоит сохранить резервную копию базы, а также убедиться, что места на диске хватает и для выполнения операции, и чтобы сохранить данные.

После этого нужно открыть обработку: для этого нажмите кнопку «Сервис и настройки», выберите «Файл», затем «Открыть».



Далее нажмите на «Создание архива документооборота».



Появится предупреждение, нужно ответить «Да» и разрешить открыть файл.



У обработки две вкладки – архивация и восстановление. При помощи первой создаётся архив, а во второй можно извлечь документы из него.

В первой вкладке следует указать каталог архива.

Чтобы удалить файлы из базы 1С, нужно поставить галочку рядом с «Удалять файлы из базы». Объём файлов будет оценён системой, так что пользователь сможет увидеть, сколько места требуется для архива.



У обработки есть и другие настройки, можно ограничить период обработки документов, настроить выбор группы.

Когда все настройки будут сделаны, нажмите на «Архивировать».



Остаётся только нажать на «Закрыть» – архивация завершена.



Теперь в разделе «Администрирование», далее «Тестирование и исправление. » нужно выполнить сжатие таблиц базы в режиме «Конфигуратор». Как это делается уже было рассмотрено ранее.

Восстановление из архива

Если потребовались данные, удалённые из базы при архивации, их можно восстановить из архива. Для этого применяется та же обработка, только теперь её вторая закладка – «Восстановление».

Нужно указать путь к архиву и нажать на «Восстановить».



Файлы будут выгружены в ту базу, откуда загружались – это единственный вариант.


Для того, чтобы результаты сохранились после реструктуризации, следует добавить триггеры из оригинальной статьи.

Для выключения сжатия надо запустить скрипт, заменив в нем DATA_COMPRESSION = PAGE на DATA_COMPRESSION = NONE

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Описание способа включения сжатия выглядит как рекомендация. Это так?
При этом не указано, сколько % места это экономит и сколько % нагрузки добавляет.
ИМХО место на дисках стоит условно дешевле, чем процессоры. При этом диски можно докупать разной ценовой категории под разные потребности. (1) ознакомился с темой подробнее. Вопросы сняты. Крайне заинтригован отзывами. Побежал тестировать сжатие ))) (3) тесты прекрасны. Сжатие порой существенно - на порядок.
При этом чтение ускоряется в 2-3 раза точно.
А вот с записью все грустно. Замедляется раз в 10.
Для хранения например журналов, истории чего либо, с ассинхронной записью в таблицы - само то.
За использование сжатия и синхронной записи - расстрел на месте))) (15) >А вот с записью все грустно. Замедляется раз в 10.
не было дефицита процессора? у меня запись, конечно, замедлилась, но не настолько. Восстановление из .dt в два-три раза дольше стало. (16) Антон, тесты я точно не в 1с проводил )))
Точно уже не вспомню условия теста, но делал его на своем ноуте (i5, ssd). Операция - insert в таблицу1 и в таблицу2.
Примерно аналогичное замедление(+/-) получил на рабочем сервере. (17) а, я думал что как минимум что-то типа перепроведения всех документов за период было. (18) нееее )))))))) ну это же бред ))))
Влияние размывается на тысячи аспектов. Какой удельный вес замедления записи в общей операции - одному богу известно. Наиболее точная оценка от 10% до 90% )) (19) ИМХО мерить синтетикой в наших условиях - не совсем то. Самое правильное - тест центр, правда его настраивать задолбаешься :)
Перепроведение хотя бы к реальности ближе. (20) вообще не понимаю что вы собираетесь мерить, даже ТЦ. И что вам это даст?
Я попытался измерить технологию. Очень приближенно и усредненно. Технология не имеет никакого отношения к 1с. Однако полученный результат все же зависит от состава данных, не спорю.
Производить какие-то замеры в 1с бессмыслица и дилетантство. Одно поведение - 90% дискового времени, другое - 10%. Куда деть процессорное время, ожидания и т.п. чтобы понять чистое влияние сжатия СУБД?
Важно в принципе понимать это чистое поведение, чтобы оценить области его применения. И возможно ли хоть где-то его в 1с применять.
Да. Но, например, на ssd обновление строки в СУБД занимает перезапись всего 4кб сектора, что со сжатием, что без сжатия. Таким образом запись больше упирается в процессор. На hdd немного по другому, и при обновлении одной строки действительно нужно читать и писать намного больше данных. + профиль нагрузки, создаваемый 1с действительно очень разнообразный. Для розницы с десятком касс - один, для финансистов с аналитическими отчетами в центральной управленческой базе, в которую оперативные данные сливаются по обменам - совсем другой. Даже сами алгоритмы проведения разные по соотношению чтения/записи. По этому я и говорю, что нужно моделировать именно на конкретном оборудовании с конкретным профилем нагрузки. Более-менее неплохо с этим справляется как раз тест центр от 1с, но он очень долго настраивается. А синтетические тесты - зло. Вот в моем случае пользователи даже не заметили ничего, да и показатели апдекс не поплыли. Скрипт отработал, но ничего не изменилось, размер базы не изменился. До запуска 19,9гб, после 19,9Гб. В чем может быть пролема? Делал для отдельной таблицы
ALTER TABLE [dbo].[TestTable] REBUILD PARTITION = ALL
WITH (DATA_COMPRESSION = PAGE)
Результата тоже нет.
sp_estimate_data_compression_savings расчитывала сжатие, почему его нет после выполнения скрипта? (4)Сжатие данных в базе (Сжатие базы) и сжатие файлов базы данных - две большие разницы. И первое не обязывает сервер делать второе. (5) Из описания к статье "основным плюсом идет экономия ввода вывода и места на диске". Я так понимаю сжатие базы необходимо делать отдельно? (6)Термин "Сжатие базы" некорректный.
Есть сжатие данных и сжатие файлов.
Первое описано в публикации.
Второе нужно делать только по необходимости. И ни в коем случае не на регулярной основе. И да, отдельно.

(0)То же самое, но без курсоров и кучи переменных:
DECLARE @cmd VARCHAR(MAX)

sel ect @cmd =(
SELECT
'PRINT '''+Table_catalog + '.' + Table_schema + '.' + Table_name+ ''''+CHAR(10) +
'ALT ER TABLE [' + Table_catalog + '].[' + Table_schema + '].[' + Table_name + '] REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)'
+';'+char(10)
as "data()"
FR OM
INFORMATION_SCHEMA.TABLES WH ERE TABLE_TYPE = 'BASE TABLE'
ORDER BY Table_catalog, Table_schema, Table_name
for xml path('')
)

Exec(@cmd)
--Print @cmd

SELECT @cmd =(
SELECT
'PRINT '''+DB_NAME() + '.' + sch.name + '.' + tabl.name + '.' + ind.name + ''''+CHAR(10) +
'ALT ER INDEX [' + ind.name + '] ON [' + DB_NAME() + '].[' + sch.name + '].[' + tabl.name + '] REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)'
+';'+char(10) as "data()"
FR OM
sys.schemas as sch
inner join sys.tables as tabl on sch.schema_id = tabl.schema_id
inner join sys.indexes as ind on tabl.object_id = ind.object_id
ORDER BY sch.name, tabl.name, ind.name
for xml path('')
)

Exec(@cmd)
--Print @cmd

Не забудьте убрать лишние пробелы, которые вставляет движок форума.

(9) неплохо, не знал, что exec работает не только со строками, но и с таблицами. (10)Ну здрасте! И где вы там таблицы нашли? :) А закомментированные Print по вашему мнению тоже таблицы выводят? :)


(11) ну условно если этот select просто выполнить, то результатом будет таблица

EXEC sp_MSforeachtable 'ALTER TABLE ? REBUILD WITH (DATA_COMPRESSION = PAGE)'
EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? REBUILD WITH (DATA_COMPRESSION = PAGE)'

Может кто подскажет при попытке сжатия базы скриптом выдается ошибка:
Внутренняя ошибка. Буфер, предоставленный для считывания значения столбца, слишком мал.
База конечно не маленькая но может кто в курсе как можно победить ошибку Буфер, предоставленный для считывания значения столбца, слишком мал

Большая таблица и мало памяти? По английски есть текст ошибки?

(26) Таблицы большие база размером 250 гиг по английски ошибки нет пишет только на русском (29) Ну так это первым делом и надо сделать. А потом уже дальше смотреть. (30) ну так это я сделал и уже дважды а что толку не каких ошибок не обнаружено и все равно ошибка та же выдается

Это одна из тех технологий, которую нельзя применять бездумно. Первое что стоит сделать - снять статистику по объектам базы данных, а именно по чтению и записи. Если какая-нибудь таблица меняется чаще чем читается, или поровну, то включать сжатие не следует. Если четко видно, что таблица в основном читается, чем пишется, скажем в 80% случаях, то можно и включить.

Статистика статистикой, но в разрезе 1С мы можем принять решение основываясь на простых фактах: в конфигурации есть объекты, которые никогда не используются, или не будут использоваться. Документы и справочники - обычно не меняются тысячами. А вот некоторые регистры чаще читаются чем пишутся или наоборот. В общем тут нужен по-объектный анализ и включением сжатия применительно к вашим условиям.


для определения соотношения чтения/записи, но даже если запись осуществляется в 10 раз чаще, профит от сжатия может быть. Нужно тетсить. Как правило все равно процессора больше, чем диска.

(33) Т.к. форум "ломает" запрос прикреплю его в виде файла, если не возражаете.

С удивлением обнаружил, что таблица _Reference183 (Справочник.ИдентификаторыОбъектовМетаданных) читается чаще всех после регистра накопления ПрочиеРасходыНезавершенногоПроизводства, и при этом туда 0 записей. RLS похоже.

В целом общая статистика по моей базе говорит, что чтений конечно больше. Причем видно, что конфигурацией читаются объекты, которые в принципе не содержат документов вообще. Тем не менее, табличку она "дергает".

скрипт не учитывает специфику 1с : некоторые данные сжимаются deflate . смысла сжимать такие таблицы нет. (35) посмотреть эффект можно с помощью sp_estimate_data_compression_savings По идее если мы не отбираем таблицы с разными типами индексов и не задействуем параметры типа on line = on\off все выборки списка таблиц и индексов можно заменить парой строк
EXEC sp_MSforeachtable 'ALT ER TABLE ? REBUILD WITH (DATA_COMPRESSION = PAGE, MAXDOP = N)'
EXEC sp_MSforeachtable 'ALT ER INDEX ALL ON ? REBUILD WITH (DATA_COMPRESSION = PAGE, MAXDOP = N)'
А если вы счастливый обладатель 2017 MSSQL то можно указать явно RESUMABLE = ON
И после шринка обязательно запустить обслуживание индексов, т.к. операция сжатия полностью фрагментирует индекс День добрый, а может подскажете как расчитать оборудование для базы размером в 1.7тб и в 2500 пользователей? потому что как только начинаю делать сжатие так сразу по cpu проседать начинаю Может кому не лень упростит скрипт при помощи которого смогу сжать данные в конкретной таблице.

Написал вот так, синтаксис прошёл, табличка лопатится. как отлопатит напишу, она большая а тестовый сервак не самый мощный.
ALTER TABLE [upp_3].[dbo].[_AccumRg24455] Rebuild partition = all with (data_compression = page)

Опережая вопросы опишу цель: на сервере начало заканчиваться место, путём анализа было выяснено что много файлов хранится в базе. Для выноса их из базы на хранилку сделана доработка требующая реструктуризации таблицы с файлами, этой сцуко большой . при реструктуризации требуется свободное место равное лучше больше этой таблицы а его нет, вот и хочу пожать 3-5 самых больших таблиц у которых статистика в пользу чтения а не записи и мне хватит места на реструктуризацию, выброс файлов на ружу и освобождение места на SQL диске для данных.

Просмотры 19033

Загрузки 0

Рейтинг 27

Создание 27.10.17 12:36

Обновление 13.12.17 16:10

№ Публикации 692209

Тип файла Нет файла

Конфигурация Не имеет значения

Операционная система MS SQL

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Да


См. также

Диспетчер Хранилища Запросов в SQL Server 2016+ (он же Query Store) Промо

Если вы используете SQL Server 2016 или более позднюю версию, то у вас есть возможность использовать встроенную систему мониторинга, которая позволяет отслеживать самые базовые метрики выполняемых запросов и статистику ожиданий (потребления ресурсов). Эта информация позволяет быстро получить самые ресурсоемкие запросы с их планами и агрегированной статистикой выполнения.

26.04.2019 14050 Aleksey.Bochkov 7

Инструкция по получению плана запроса через Extended Events

Доброго времени суток, коллеги. Хочу рассказать, как можно посмотреть план запроса через механизм Extended Events. Я хочу ответить на вопрос - как разработчику через SQL Management Studio посмотреть, что запрос, который он сделал, работает оптимально. На Инфостарте есть несколько статей, которые посвящены трассировкам в этом механизме. Мне, когда я не понимал, как это правильно делать, не хватало простой пошаговой инструкции. Я напишу инструкцию, выполняя которую можно будет увидеть план запроса, который выполняется из базы данных.

22.11.2021 193 Andrei_Ivanov 0

Подходы к организации информационной безопасности в корпоративных проектах

Оформили в виде статьи наш доклад на недавно прошедшем семинаре партнеров 1С на тему требований к информационной безопасности на проектах, с которыми всё чаще встречаемся мы и наши партнеры. В статье рассмотрено, почему этими вопросами стоит озаботиться уже сейчас. Куда бежать и что делать, если вы попали на проект с требованиями по информационной безопасности…

29.10.2021 1796 it-expertise 11

Повышение производительности веб-сервисов. Переиспользование сеансов

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021 1590 sorter1 2

Опыт миграции из собственного датацентра в облако AWS Промо

29.07.2018 12263 Aleksey.Bochkov 9

Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности

Расскажем про инструменты, рассмотрим планы запросов, увидим, как отслеживать и бороться с проблемами производительности на боевой базе.

07.09.2021 4039 ivanov660 23

Показатель Page Life Expectancy (PLE)

18.08.2021 1434 vasilev2015 6

Кластер для отказоустойчивости

На Infostart Meetup «PostgreSQL VS Microsoft SQL» выступил руководитель проектов в по разработке ПО в компании «Газинформсервис» Денис Рожков. В рамках доклада Денис рассказал о том, какие механизмы кластеризации используются для PostgreSQL и в MS SQL и поделился с коллегами, какие решения можно использовать для построения отказоустойчивого кластера на PostgreSQL.

18.08.2021 2616 FB_3393521717335803 0

Опыт оптимизации и контроля производительности в БД с 3000 пользователей Промо

Данная статья написана по материалам доклада, прочитанного на Конференции Инфостарта IE 2014 29-31 октября 2014 года. Меня зовут Сергей, являюсь руководителем отдела оптимизации и производительности систем в компании "Деловые линии". Цель этого доклада – поделиться информацией о нашем опыте работы с большой базой на платформе 1С, с чем пришлось столкнуться, как удалось обеспечить работоспособность. Уверен, что вам будет интересно, так как подобной информацией мало кто делится, да и про само существование таких систем их владельцы стараются не рассказывать, максимум про это «краем глаза» упоминают участвовавшие в проекте вендоры. **update от 04.03.2016 по вопросам из комментариев

05.08.2015 67218 Sergey.Noskov 119

Адекватный параллелизм в 1С

Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.

13.08.2021 3471 Shmell 7

Создаем счетчики производительности Windows для 1С

В статье описан подход, позволяющий создавать счетчики производительности Windows для 1С:Предприятие.

09.08.2021 3576 blackhole321 8

Распространенные ошибки разработчиков, приводящие к проблемам производительности

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021 9382 ivanov660 77

Долго открывается конфигуратор Промо

В ОС Windows Server 2012 бывает полезно выключать службу Dynamic Fair Share Scheduling (DFSS позволяет балансировать и распределять ресурсы между пользователями), чтобы повысить производительность 1С:Предприятие 8 в ряде случаев.

22.04.2015 43998 Gilev.Vyacheslav 1

Fill factor

02.08.2021 2648 vasilev2015 6

Parameter sniffing и генерация планов для разработчиков 1С

Особенности генерации планов запросов. Статья написана по мотивам вебинара Виктора Богачева.

01.06.2021 8943 vasilev2015 17

Ускорение реструктуризации больших таблиц. Мой вариант

Тот случай, когда с документом или справочником работали годами, наколотили миллионы строк и десятки, а может, и сотни гигабайт данных, как вдруг бизнесу потребовалось добавить реквизитов.

28.04.2021 1316 buganov 0

Видеодемонстрация применения Теста-центра для нагрузочного тестирования конфигураций Промо

Тест-центр – инструмент автоматизации многопользовательских нагрузочных испытаний информационных систем на платформе 1С:Предприятие 8. С его помощью можно моделировать работу предприятия без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. В видео показан пример с внедрением конфигурации Тест-центра в произвольную информационную базу и создание простого сценария нагрузочного теста.

16.09.2012 36453 Aleksey.Bochkov 29

Поиск причин блокировок СУБД

Расследование блокировок СУБД. Статья написана по мотивам вебинара Виктора Богачева.

28.04.2021 5721 vasilev2015 13

Тонкости эксплуатации, плюшки и особенности Postgres Pro Enterprise

В ходе онлайн-встречи INFOSTART MEETUP Novosibirsk Руководитель ИТ из компании ИнфоСофт Антон Дорошкевич поделился с коллегами тонкостями и опытом работы с Postgresql для 1С.

22.04.2021 2422 a.doroshkevich 4

Решение нестандартных проблем производительности на реальных примерах

На екатеринбургском Infostart Meetup выступил с докладом архитектор ИС центра разработки ФТО Александр Криулин. Он поделился с коллегами кейсами нестандартных проблем производительности и рассказал о способах их решения.

24.03.2021 4984 AlexKriulin 37

Сжатие баз данных 1С:Предприятие в MS SQL Server Промо

Тема сжатия баз данных 1С в настоящий момент довольно часто обсуждается. Достоинства сжатия известны – уменьшение размера базы данных, уменьшение нагрузки на дисковую подсистему и некоторое ускорение выполнения тяжелых операций чтения/записи. Из недостатков – небольшое увеличение нагрузки на процессоры сервера СУБД за счет расхода ресурсов на компрессию/декомпрессию данных. Но при использовании в качестве MSSQL и DB2 (за Oracle и PostgreSQL не скажу, т.к. не знаю) есть один «подводный камень» - при выполнении реструктуризации происходит декомпрессия новых таблиц и индексов. Происходить это может как при выполнении обновления конфигурации с изменением структуры метаданных, так и при выполнении тестирования и исправления ИБ (реиндексация пересоздает только индексы, а реструктуризация – и таблицы, и индексы). «Проблема» кроется в том, что признак сжатия устанавливается индивидуально для каждой таблицы и индекса.

Оптимизация программы 1С необходима, когда данный софт начинает спустя некоторое время пользования тормозить. Это проявляется в долгом запуске, медленной работе и периодических зависаниях. Причин этого может быть множество, поэтому существует несколько решений данной проблемы. Можно прибегнуть к определенным действиям, которые позволят оптимизировать программу, улучшить производительность и скорость работы.

Оптимизация с помощью обновления

Ускор1.jpg

Каждое новое обновление программы 1С сопровождается оптимизацией, совершенствованием и модернизацией. Добавляются новые функции, улучшаются работоспособные системы всей платформы и появляются новые возможности, которые повышают производительность программы, что позволяет уменьшать восприятие от различных внешних факторов (объем хранимой памяти, количество подключаемых пользователей и прочее).

Следует учесть, что программа сама по себе не обновляется, поэтому необходимо самому следить за наличием обновлений или обратиться за помощью к нашим профессионалам. Обновление может выполняться для определенной конфигурации программы или самой платформы в целом.

Настройка регламентных и фоновых заданий

Конфигурация программы 1С отличается обилием большого количества фоновых заданий. К ним можно отнести постоянное обновление курса валют, классификаторов банков, новостной ленты, задач бухгалтера и многое другое. Каждый выполняемый программой процесс отбирает ресурсы, как данного софта, так и компьютера. Некоторые из них можно отключить, так как они не особо нужны.

Одним из простых и эффективных решений, чтобы оптимизировать 1С и улучшить производительность, является настройка всех этих процессов, которые выполняются в фоновом режиме. Имеется в виду их полное отключение.

Для этого следует выполнить следующее:

  1. Поиск пункта «Администрирование» в главном разделе меню, которое перекинет в окно настройки программы. Появится перечень переходов, среди которых необходимо выбрать «Обслуживание».
  2. В появившемся новом окне необходимо перейти в раздел «Регламентные операции». Здесь будет располагаться ссылка «Регламентные и фоновые задания», по которой следует нажать.
  3. Будет предоставлен список всех доступных фоновых заданий для ознакомления, большинство которых будет находиться в рабочем состоянии. Об этом свидетельствует галочка, которая стоит слева.
  4. Выполнить полный просмотр данного списка, чтобы определить для себя ненужные процессы. Чтобы отключить ненужные задания, следует нажать на каждое из них. Появится отдельное окно, где следует снять галочку с пункта «Включено».
  5. Нажать «Записать и закрыть», чтобы выбранная задача больше не запускалась.

Ускор2.jpg

Данные простые, но достаточно эффективные, действия позволят повысить производительность и скорость программы 1С. Она будет шустрее работать и не будет терять драгоценные ресурсы. При необходимости выключенные задания можно повторно включить.

Отключение неиспользованных модулей программы

Программное обеспечение от 1С отличается не только обилием различных процессов, но и функциональных модулей. Как и фоновые процессы, ненужные модули можно отключать. Это необходимо выполнить с теми, которые не используются. Они также расходуют ресурсы программы и компьютера, от чего 1С становиться более "тяжелой" и не такой производительной.

Чтобы перейти в меню используемых модулей, необходимо войти в раздел «Администрирование». В появившемся окне «Настройки программы» следует выбрать вкладку «Функциональность». Перед пользователем откроется новое окно «Функциональность программы», которое имеет в своем распоряжении большое количество вкладок. Необходимо пройтись по каждой и отключить ненужные модули. Для этого достаточно просто снять галочки.

Ускор3.jpg

Параметры компьютера и сети

Бывает так, что отключение ненужных модулей и фоновых процессов может быть недостаточно, чтобы повысить производительность программы 1С. Всему виной могут быть характеристики компьютера. Если они слабые и их недостаточно для минимальных требований программы, то это может повлиять за собой значительное замедление работоспособности софта. Это касается не всех составляющих ПК. Особое внимание следует уделить процессору и оперативной памяти.

Системные требования программы 1С можно посмотреть на странице официального сайта 1С. Чтобы посмотреть параметры компьютера, необходимо при помощи кнопки «Пуск» выбрать правой кнопкой мыши пункт «Компьютер». Появиться небольшое меню, где следует выбрать «Свойства». Появится новое окно, которое будет содержать техническую информацию о компьютере.

Ускор4.jpg

Помимо процессора и оперативной памяти, также должны соответствовать следующие параметры:

  • свободное место на жестком диске не меньше 2 Гб;
  • скорость интернет-соединения не меньше 100 мБит за секунду.

Важно отметить, что существует особый пакет программы 1С, который ориентирован на передачу большого объема информации. Здесь следует отдельное внимание уделить пропускной сетевой способности ПК. Если возникнуть какие-либо торможения или другие проблемы, то данную скорость можно увеличить. Для передачи незначительного объема информации вполне достаточно будет 100 мБит/сек.

Запуск в тонком клиенте

Тонкий клиент – это особый режим запуска программы 1С, который позволяет минимизировать потребление программных ресурсов и каналов связи. Его можно запустить при помощи выполнения определенных манипуляций в настройках информационной базы.

Чтобы включить режим тонкого клиента, следует выполнить:

  1. Последовать в настройки. Чтобы в них попасть, необходимо при запуске 1С выбрать кнопку «Изменить».
  2. Появится новое окно, где следует найти раздел «Основной режим запуска».
  3. Данный раздел будет иметь несколько вариантов для выбора, среди которых находится тонкий клиент. Его необходимо выбрать.
  4. После выбора подходящего режима нажать кнопку «Готово», чтобы сохранить изменения.

Ускор5.jpg

Для просмотра режима работы программы необходимо перейти в меню «Справка», которое находится в основном перечне меню. В выбранной вкладке нажать «О программе», где будет отображаться режим программы, в котором она работает в данный момент.

Диагностика и исправление ошибок базы 1С

Низкая производительность программы 1С считается не просто проблемой, но и ошибкой, с которой необходимо бороться. В данном случае эффективным способом оптимизации является «Тестирование и исправление информационной базы».

Ускор6.jpg

Данный инструмент располагается в меню «Администрирование» и он имеет в своем распоряжении следующее:

  1. Реиндексацию таблиц информационной базы – это встроенный инструмент для реорганизации используемых индексов в таблице. Он позволит повысить скорость работы базы в целом.
  2. Сжатие таблиц информационной базы – данный инструмент позволяет сжимать размер базы. Другими словами, он уменьшает ее размер при помощи дефрагментации всей таблицы. Данный режим работы не только увеличивает быстродействие программы, но и избавляет ее от ошибок.
  3. Реструктуризация таблиц информационной базы – это режим работы, благодаря которому выполняется оптимизация структурной составляющей программы. Это позволяет улучшить стабильность и быстродействие выполняемых процессов.

Свертка информационной базы

Главные преимущества данного решения:

Инструмент «Свертка информационной базы» находится в меню «Администрирование» -> «Сервис». Важно помнить, что данный процесс является необратимым. Программа сама будет предлагать выполнить резервное копирование. Следует определить для этого место на жестком диске.

Ускор7.jpg

После этого следует выполнить следующее:

  1. Указать дату, на которую будут формироваться остатки. В этом разделе можно установить галочку напротив «Установить дату запрета изменения данных (рекомендуется)». Ее можно не устанавливать, если необходимо выполнить редактирование сформированного документа с остатками.
  2. При выполнении учета по нескольким предприятиям, программа будет предлагать выполнять данный процесс по конкретным организациям или сразу по всем.
  3. Теперь необходимо следовать всем шагам помощника, попутно выполняя настройку по всем доступным регистрам.

Свертка позволяет формировать остатки на конкретную дату, а также удалять старые и ненужные документы. Таким образом, можно уменьшить общий объем информационной базы, чтобы облегчить работу программе 1С.

Настройка антивирусных программ

Бывает так, что антивирусная программа может мешать работе 1С. Но при правильной настройке любого такого вспомогательного софта работоспособности бухгалтерской программы ничего не будет мешать. С использованием стандартных настроек производительность 1С может резко снизиться.

Чтобы избавиться от данной проблемы, необходимо углубиться в дополнительные настройки антивирусной программы. Самым простым и эффективным решением является отключение фонового режима данного софта. Уже сразу будет заметна разница. Программа 1С будет быстрее запускаться, обрабатывать документы, формировать отчеты и тому подобное.

Защитить свой компьютер можно с помощью нашей системы защиты от шифровальщиков-вымогателей.

Специалисты Первого Бита имеют обширный опыт в оптимизации программы 1С. Мы оказываем комплексные услуги «скорой» технической помощи. Чтобы связаться с нами и узнать условия сотрудничества:

  • Оставьте заявку на нашем сайте или позвоните нам по телефону;
  • Менеджер уточнит причины обращения и зафиксирует проблему;
  • Наши специалисты проведут технический аудит и экспертизу;
  • Проведут полную оптимизацию 1С.

После проведения оптимизации производительности 1С, значительно повысится производительность программы. Улучшится работа систем, что в свою очередь, повысит эффективность работы всего персонала. Вы сможете, наконец, спокойно заниматься своим любимым и важным делом и не беспокоиться более по поводу зависаний 1С.

Читайте также: