Найти тему
Будни одинэсника | 1С

Для чего знать размер таблицы базы данных 1С?

Оглавление

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

Возник вопрос, я для чего?

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

Обычно у пользователя появляется ошибка вида:

Превышен максимально допустимый размер внутреннего файла

-2

Что это за ограничения по допустимому размеру?

Файл базы данных (.1CD) внутри организован как множество так называемых внутренних файлов. Каждой из таблиц базы данных соответствует до четырех внутренних файлов:

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

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

  • для формата версии 8.2.14 — 4 Гб.
  • для формата версии 8.3.8 с размером страницы 4096 байт — 4 Гб.
  • для формата версии 8.3.8 с размером страницы 8192, 16384, 32768 и 65536 байт — 6 Гб.

С размерами понятно, мы знаем как их узнать, но как понять какой формат базы данных у нас используется и с каким размером страниц?

Утилита преобразования cnvdbfl.exe

Файл базы данных имеет несколько версий внутреннего формата:

  • Версия 8.2.14 — имеет размер внутренней страницы файла базы данных равный 4096 байт. Размер внутреннего файла не может превышать 4 Гб.
  • Версия 8.3.8 — размер внутренней страницы файла базы данных может принимать несколько значений: 4096, 8192, 16384, 32768 и 65536 байт. Кроме того, формат версии 8.3.8 обеспечивает более оптимальный формат хранения некоторых внутренних данных. Размер внутреннего файла не может превышать 4 Гбайта (при размере страницы в 4096 байта) и 6 Гбайт (при размере страницы 8192, 16384, 32768 и 65536 байт).

Утилита cnvdbfl.exe является утилитой командной строки и позволяет:

  • Преобразовывать файлы 1Cv8.1CD между различными форматами;
  • Изменять размер страницы файла для формата 8.3.8;
  • Получат информацию о текущем формате и размере страниц;

Утилита по умолчанию расположена в каталоге исполняемых файлов платформы 1С.

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

cnvdbfl -i <Путь к файлу базы данных>

-3

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

Понравилась статья, поддержите лайком 👍