0. YPermitin 927 10.02.19 23:22 Сейчас в теме

Секционирование таблиц и индексов в мире 1С

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

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Gilev.Vyacheslav 1813 11.02.19 00:36 Сейчас в теме
Одну важную вещь я бы выделил: секционирование надо делать до того как база сильно распухнет, задуматься стоит на пороге 30-50 миллионов строк в таблице, когда таблица будет терабайтовая ни какого технологического окна на продуктиве не хватит.
А таблицы второстепенной важности типа "версии" вообще в другую базу на другой сервер стараться выносить.
Yakud3a; stsasha87; A_Max; YPermitin; +4 Ответить
3. YPermitin 927 11.02.19 08:01 Сейчас в теме
(1) согласен. Лучше раньше, чем поздно. И лучше поздно, чем никогда :)
10. nicxxx 205 11.02.19 13:02 Сейчас в теме
Поменять тип колонки _period на datetime2(3)?
11. YPermitin 927 11.02.19 13:09 Сейчас в теме
(10)
а datet


Видимо немного не в ту ветку.

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

Но вообще решений несколько.
2. Dream_kz 86 11.02.19 07:45 Сейчас в теме
Если Вам интересно как исправить запросы платформы 1С или архитектуру таблиц метаданных на стороне БД пишите в комментариях, может это будет стимул для новой статьи.

Пишите еще, технические статьи очень интересны

Маленький вопрос, а с разделением документов по секциям все будет не так "просто" как с регистрами?
YPermitin; +1 Ответить
4. YPermitin 927 11.02.19 08:05 Сейчас в теме
(2) спасибо. Больших различий нет, т.к. в них тоже есть период (Дата документа). Но если задача построить секции по более сложному принципу, то нюансы могут появится.

Но это не гарантировано, надо по конкретной задаче смотреть.
5. a.m.minakov 11.02.19 09:35 Сейчас в теме
Получается, что после каждого обновления, необходимо настраивать секционирование заново?
YPermitin; +1 Ответить
6. YPermitin 927 11.02.19 09:40 Сейчас в теме
(5) Да, но:
1. Только при тех обновлениях, которые приводят к реструктуризации секционированной таблицы.
2. И только если не позаботиться о скриптах обслуживания, которые могут все сделать автоматом на стадии реструктуризации (см. в конце статьи описание принципа).

То есть да, усложнение сопровождения конечно будет. Но при должном подходе это не создаст проблемы, главное чтобы был специалист, который в этом разбирается.
7. capitan 1051 11.02.19 10:02 Сейчас в теме
8. nicxxx 205 11.02.19 12:30 Сейчас в теме
Ключевой момент- преобразование datetime. Если эту проблему не решить, то запросы так и продолжат тормозить. Но ее решение подразумевает вмешательство в работу платформы, что не каждому под силу. Давайте дружно попросим Орефкова заняться этим вопросом?))
9. YPermitin 927 11.02.19 12:52 Сейчас в теме
(8) Решение на самом деле есть даже без дизасемблирования. Я хотел о нем написать, но боюсь тогда статья стала бы на столько большой, что к концу читатели бы впали в кому.

Может быть в следующий раз :)

Ну и плюс секционирование не обязательно через DateTime. Может у вас есть поле numeric(10,0), по которому нужно секционировать таблицу. В этом случае все будет работать как надо.
12. nicxxx 205 11.02.19 13:10 Сейчас в теме
Тогда пишите статью:)
torbeev; A_Max; +2 Ответить
13. YPermitin 927 11.02.19 13:15 Сейчас в теме
14. Andreynikus 1156 12.02.19 23:50 Сейчас в теме
Отличная статья, спасибо!
YPermitin; +1 Ответить
15. YPermitin 927 13.02.19 07:09 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 160 000 руб. до 180 000 руб.
Полный день

Ведущий программист / Руководитель проектов 1С
Москва
зарплата от 190 000 руб. до 190 000 руб.
Полный день

Программист 1С ЗУП
Уфа
зарплата от 60 000 руб. до 90 000 руб.
Полный день

Программист 1С
Москва
зарплата от 140 000 руб. до 140 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день