Перейти к основному содержимому

Структура хранения базы данных

Просмотр имён таблиц базы данных и их взаимосвязей с объектами метаданных. Инструмент для анализа физической структуры хранения 1С: какие SQL-таблицы соответствуют справочникам, документам, регистрам и другим объектам метаданных, их поля и индексы.

Общий вид формы со списком таблиц, панелью фильтров слева и строкой поиска сверху Основной интерфейс


Назначение​

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

Пригодится для:

  • Анализа структуры БД — быстрый поиск SQL-таблицы по имени метаданных и наоборот
  • Оптимизации производительности — оценка размера таблиц, количества записей, индексов
  • Разработки SQL-запросов — понимание физических имён полей и таблиц для прямых запросов к СУБД
  • Администрирования — мониторинг разрастания таблиц, поиск «тяжёлых» объектов

Основные возможности​

  • Полная структура хранения БД — все таблицы конфигурации: основные, табличные части, подчинённые регистры, перечисления и т.д.
  • Поиск по таблицам и полям — фильтрация по имени таблицы, метаданных, назначению; поиск по именам полей хранения с точным или частичным совпадением
  • Фильтр по назначению — показывать/скрывать таблицы по типу назначения (основная, табличная часть, индексы и т.д.)
  • Фильтр по видам метаданных — показывать/скрывать объекты по типу (Справочник, Документ, Регистр сведений и т.д.)
  • Детализация по каждой таблице — раскрывающийся список полей (имя поля хранения, имя поля метаданных) и индексов (состав полей индекса)
  • Размеры таблиц — получение размера данных, индексов, зарезервированного и свободного места, количества записей (опционально)
  • Несколько способов получения размеров — платформенный метод, утилита tool1cd (файловые базы), psql (PostgreSQL), sqlcmd (MSSQL)
  • Единицы измерения — переключение между килобайтами и мегабайтами

Быстрый старт​

  1. Откройте меню Универсальные инструменты → Администрирование → Структура хранения базы данных [УИ]
  2. Дождитесь загрузки — инструмент автоматически получит структуру хранения базы данных платформенным методом ПолучитьСтруктуруХраненияБазыДанных()
  3. Для поиска конкретной таблицы или объекта введите текст в поле Поиск по слову и нажмите Найти (или Enter)
  4. Используйте фильтры слева для уточнения: по назначению и по видам метаданных
  5. Для просмотра полей и индексов — раскройте строку таблицы

Интерфейс​

Панель поиска и фильтров​

В верхней части формы расположены элементы управления:

ЭлементНазначение
Поиск по словуТекстовый поиск по имени таблицы, имени таблицы хранения, метаданным и назначению
Искать в именах полейФлажок — расширяет поиск на имена полей хранения и имена полей метаданных
Точное соответствиеФлажок — искать точное совпадение вместо частичного
НайтиКнопка применения фильтра

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

  • Фильтр по назначению — список типов назначения таблиц (основная, табличная часть, индексы и т.д.) с возможностью включать/отключать каждую позицию
  • По видам метаданных — список типов объектов метаданных (Справочник, Документ, Регистр сведений, Регистр накопления, Перечисление и т.д.)
подсказка

Используйте кнопки «Выделить всё» / «Снять всё» в каждой группе для быстрого переключения.

Таблица результатов​

Основная таблица содержит строки — по одной на каждую таблицу хранения. Колонки:

КолонкаОписание
Имя таблицыСинонимичное имя таблицы (например, Номенклатура, ПоступлениеТоваров)
Имя таблицы храненияФизическое имя таблицы в СУБД (например, _Reference37, _Document139)
МетаданныеПолный путь к объекту метаданных (например, Справочник.Номенклатура)
НазначениеТип таблицы: основная, табличная часть, перечисление и т.д.

Каждая строка раскрывается в подчинённую таблицу с двумя вкладками:

  • Поля — список полей таблицы:
    • Имя поля хранения — физическое имя колонки в СУБД
    • Имя поля — имя реквизита в метаданных
    • Метаданные — полный путь к реквизиту
  • Индексы — список индексов таблицы с составом полей:
    • Имя индекса хранения — физическое имя индекса
    • Поля индекса — имена полей, входящих в индекс

Раскрытая строка таблицы с детализацией по полям и индексам Детализация таблицы

Размеры таблиц​

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

КолонкаОписание
Кол-во строкКоличество записей в таблице
Данные (КБ/МБ)Размер данных
Индексы (КБ/МБ)Размер индексов
Зарезервировано всего (КБ/МБ)Суммарный зарезервированный объём
Свободно (КБ/МБ)Неиспользуемое место в таблице

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

СпособОписаниеТребования
Не получать размеры таблицРазмеры не показываются—
Платформенный методФункция ПолучитьРазмерДанныхБазыДанных()Платформа 8.3.15+
Утилита tool1cdВнешняя утилита ctool1cd для файловых базФайловая ИБ; не Linux x86, не macOS
Утилита psqlКонсольная утилита PostgreSQLPostgreSQL; указать сервер, БД, пользователя
Утилита sqlcmdКонсольная утилита MSSQLMSSQL; указать сервер, БД, пользователя, пароль
к сведению

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

При выборе psql или sqlcmd появляются поля для ввода параметров подключения к СУБД: сервер, база данных, пользователь и пароль, а также путь к исполняемому файлу утилиты (опционально, по умолчанию ищется в PATH).

Настройка подключения к PostgreSQL (psql) для получения размеров таблиц Настройка psql

Настройка подключения к MSSQL (sqlcmd) для получения размеров таблиц Настройка sqlcmd

Единица измерения переключается между КБ и МБ — заголовки колонок обновляются автоматически.


Сценарии использования​

Поиск SQL-таблицы по объекту метаданных​

Задача: Узнать, какая SQL-таблица соответствует справочнику "Номенклатура"
  1. Введите Номенклатура в поле поиска
  2. Нажмите Найти
  3. В результатах найдите строку с метаданными Справочник.Номенклатура
  4. В колонке Имя таблицы хранения — физическое имя таблицы в СУБД

Результат поиска: строка с метаданными Справочник.Номенклатура, её SQL-таблица и назначение Поиск по метаданным

Поиск объекта метаданных по SQL-имени​

Задача: Вы работаете с СУБД и нашли таблицу "_Reference37". Какому объекту конфигурации она принадлежит?
  1. Введите _Reference37 в поле поиска
  2. Включите Точное соответствие для исключения лишних совпадений
  3. Нажмите Найти
  4. В колонке Метаданные — полное имя объекта конфигурации

Поиск по имени поля хранения​

Задача: Найти все таблицы, в которых есть поле с определённым физическим именем
  1. Введите имя поля (например, REFERENCE37)
  2. Включите Искать в именах полей
  3. Нажмите Найти
  4. В результатах будут только те таблицы, у которых хотя бы одно поле содержит искомое имя

Анализ размера таблиц (PostgreSQL)​

  1. Выберите способ Утилита psql
  2. Заполните параметры подключения: сервер (localhost), база данных (trade_db), пользователь (postgres), пароль
  3. При необходимости укажите путь к psql (если утилита не в PATH)
  4. Нажмите Обновить размеры таблиц базы данных
  5. Колонки с размерами заполнятся данными из СУБД

Таблица результатов с заполненными колонками размеров (данные, индексы, строки) Размеры таблиц

Анализ размера таблиц (файловая база)​

Для файловых баз используется утилита tool1cd:

  1. Выберите способ Утилита tool1cd
  2. Нажмите Обновить размеры таблиц базы данных
  3. Утилита ctool1cd будет автоматически извлечена из макета и запущена для анализа файла базы данных

Фильтрация по виду метаданных​

Задача: Посмотреть только таблицы регистров сведений
  1. В группе По видам метаданных нажмите Снять всё
  2. Установите флажок только на РегистрСведений
  3. Таблица результатов отфильтруется — останутся только строки, относящиеся к регистрам сведений

Быстрая оценка «тяжёлых» объектов​

  1. Выберите способ получения размеров (например, платформенный)
  2. Нажмите Обновить размеры таблиц базы данных
  3. Отсортируйте таблицу по убыванию колонки Данные
  4. Самые объёмные объекты окажутся вверху списка

Интеграция с другими инструментами​

  • Программный доступ — функция УИ_ОбщегоНазначения.СтруктураХраненияБазыДанных() возвращает таблицу значений со структурой хранения БД.