Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Особенности работы разных СУБД с 1С 8.3 (8.2)

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

В этой статье будут рассмотрены основные особенности работы всех СУБД, совместимых с 1С 8.3.

Postgre

1С предприятие поддерживает 5 видов СУБД:

  • файловый вариант самого 1С;
  • IBM DB2;
  • MS SQL;
  • Oracle BD;
  • PostgreSQL.

У каждой из них свои особенности и рекомендации. Рассмотрим каждую подробнее:

Файловая БД

В файловом режиме работы СУБД у 1С есть следующие особенности. В системе каждая таблица представлена 4 файлами:

  • файл описания таблицы;
  • файл записей;
  • файл значений неограниченной длины (их выносят из основного файла записей для оптимизации);
  • файл индексов.
Ключевые особенности:
  1. Ограничение размера одного из вышеперечисленных файлов 4 Гб дискового пространства.
  2. Длина ключа в индексе такой базы данных не может превышать 1920 байтов.
  3. Количество полей для индексации ограничивается 256 полями (в остальных СУБД всего 16 полей).

Получите 267 видеоуроков по 1С бесплатно:

Microsoft SQL

Ключевая особенность СУБД MS SQL с 1С 8.2 — максимальное количество таблиц в запросе  256. Может показаться, что много, однако при обращении по точке к полям составного типа Вы можете моментально получить все 256 таблиц.

PostgreSQL

  1. NULL так же, как и Oracle, при сортировке по возрастанию становится в конце результата.
  2. В режиме автоматических блокировок при чтении таблица блокируется целиком.
  3. В СУБД PostgreSQL сильно уменьшается производительность в режиме интенсивной работы, система как можно чаще требуется реиндексирование (метод REINDEX).
  4. Большое влияние на производительность PostgreSQL оказывает скорость работы жесткого диска — данные после команды COMMIT (фиксация транзакции) из кеша помещаются на диск. Это существенно повышает надежность, однако снижает производительность СУБД при записи информации (функция fsync). Поэтому считается, что эта СУБД является очень медленной в плане записи и удаления информации, однако это можно исправить.
  5. Можно достичь повышения надежности внедрением RAID — массивов в сочетании с блоками бесперебойного питания. Тем самым мы повысим надежность системы. После повышения надежности можно пренебречь включением функции fsync и тем самым существенно увеличить скорость работы системы.
  6. При вычислении разницы между датами, если в промежутке дат попадаются переходы с зимнего времени на летнее (и наоборот), СУБД PostgreSQL учитывает разницу. Пример — разница между 29.10.2013-00:00:00 и 30.10.2013-00:00:00 будет не 24 часа, а 25.
  7. СУБД неэффективно отрабатывает вид соединения — «ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ».

IBM DB2

  1. СУБД DB2 имеет нетипизированное значение NULL.
  2. DB2 чувствительна к регистру строковых значений при сравнении. Касается не только прямого сравнения, но и операций СГРУППИРОВАТЬ, ОБЪЕДИНИТЬ, РАЗЛИЧНЫЕ.
  3. Максимальная длина числового значения — 31 знак (в других СУБД — 38).
  4. Максимальная длина ресурса регистров бухгалтерии и накопления — 25 знаков  (везде 32).
  5. Максимальное количество колонок в списке выборки — 1012.
  6. Максимальный размер поля неограниченной длины — 1 Гб.
  7. Аргументом у конструкции «ПОДОБНО» может быть лишь литерал, запрещено использование основных шаблонов.
  8. Производительность СУБД IBM DB2 существенно снижается при использовании подзапросов в условии соединения.

Oracle DB

  1. Нельзя использовать конструкции «ПЕРВЫЕ» и «УПОРЯДОЧИТЬ» внутри подзапроса условия «В (..подзапрос..)».
  2. NULL при сортировке по возрастанию становится в конце результата.
  3. На работу СУБД Oracle DB очень сильное влияние оказывает статистика планов запроса 1C.

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Добавить комментарий: