|
Жуткие тормоза при использовании разделителя в виде общего реквизита | ☑ | ||
---|---|---|---|---|
0
ILoJes
03.02.15
✎
16:21
|
В общем стоит задача тестирования разделения данных через общий реквизит. Тестирование происходит на копии рабочей базы, база большая. Был добавлен общий реквизит в виде числа и в состав добавлен регистр бухгалтерии. После применения изменений, форма списка регистра открывается 10 минут, причем после того как пролистаешь вниз строчки и начинают подгружаться новые, опять зависает на несколько минут. При попытке открыть движения документа (видать когда выбираются по регистру бухгалтерии) - опять зависает на несколько минут. Написал обработку чтоб проставить значения разделителя. Записи регистра получаемые по регистратору выбираются 3-5 мин. Кто то с таким сталкивался , можно ли это как-то побороть и с чем это может быть связано? :)
|
|||
1
H A D G E H O G s
03.02.15
✎
16:34
|
(0) У разделителя использование разделяемых данных - Независимо и совместно, у пользователя не не включено использование разделителя.
|
|||
2
ILoJes
03.02.15
✎
17:17
|
Это так и есть, я захожу с разными значениями разделителя, если он включен, то вообще ничего не видно (кроме тех, по которым обработка проставила), если выключен - показывает все записи и жутко тормозит
|
|||
3
H A D G E H O G s
03.02.15
✎
17:31
|
(2) "Это - норма" ©Малышева.
|
|||
4
ILoJes
03.02.15
✎
17:35
|
(3) Да ну это ж анриал...а если мне надо отчет построить сразу по всем фирмам, естессно с выключенным разделителем, и будут такие тормоза, то может проще РЛСом пользоваться?
|
|||
5
H A D G E H O G s
03.02.15
✎
17:41
|
(4) Не надо строить такие отчеты :-)
Разделитель данных нужен прежде всего для ведения независимых учетов по разным непересекающимся фирмам, у которых может быть одинаковые статические данные (КЛАДР, контрагенты, отраслевые служебные справочники). Хотя 1С и разрешает (не запрещает) строить разграничение доступа на основе разделителя данных, отдельно уточняя, что консолидированные отчеты/общие пользователи будут тормозить. |
|||
6
ILoJes
03.02.15
✎
17:56
|
(5) Да тут вопрос именно в том, что самописная конфа, которая используется в куче баз по организациям, и вместо того чтоб это все сливать, гонять обмены и т.д. просто загнать все в одну базу, разделить по организации, естессно чтоб были какие то данные общие, а остальное разделить, но нужно получать иногда общие отчеты для начальства...Вроде бы классный вариант с этим разделением...но вот с отчетами
конечно проблема... |
|||
7
ShoGUN
03.02.15
✎
18:00
|
(6) Юзай РЛС для этих целей.
|
|||
8
Dmumaju
03.02.15
✎
18:04
|
(0) Разделитель - плохая идея, если потребуется оформлять "межорганизационные" обороты. Универсальнее - измерения в регистрах + РЛС
|
|||
9
ILoJes
03.02.15
✎
18:07
|
(7) Подумываю уже...просто разделитель настраивается намного проще ) но и по производительности другой результат
|
|||
10
H A D G E H O G s
03.02.15
✎
18:10
|
(6) Пеши отчеты с отбором по значениям разделителя, ну тоесть:
ВЫБРАТЬ Товары.Код, Товары.Наименование ИЗ Справочник.Товары КАК Товары ГДЕ Товары.МойРазделитель В(&МассивНужныхРазделителей) |
|||
11
H A D G E H O G s
03.02.15
✎
18:10
|
Динамические списки также.
|
|||
12
H A D G E H O G s
03.02.15
✎
18:11
|
Чтобы там не говорили про операцию ИЛИ и индексы, для одного и того же поля индекса она дает устойчивый indexseek :-). В цикле :-)
|
|||
13
ILoJes
03.02.15
✎
19:02
|
А механизм работы разделителя потом не подправит еще раз мой запрос??
|
|||
14
H A D G E H O G s
03.02.15
✎
19:06
|
(13) Не должен.
В качестве доказательства приведу пример цитаты Линуса Торвальдса: "Разработчики ядра не ожидают никаких проблем с Linux в этом году, но проблемы обязательно будут" |
|||
15
ILoJes
05.02.15
✎
11:22
|
Ну что я хочу сказать...
(10) не работает, фильтрует все равно по текущему разделителю... во вторых, не знаю как там должно разделять и какие области создаваться, но запуск одновременного перепроведения одинаковых доков, но в разных сеансах с разными разделителями, т.е. обращения к одному и тому же регистру, вешает оба сеанса, т.е. не знаю как там должно работать это разделение, но конфликт блокировок наяву |
|||
16
H A D G E H O G s
05.02.15
✎
13:10
|
(15) Ты что-то делаешь не так :-)
|
|||
17
ILoJes
05.02.15
✎
13:31
|
(16) По фильтрации - я имею ввиду с включенным разделителем, добавляешь в запрос отбор по разделителю,все равно фильтрует по текущему.
По поводу перепроведения - сообразил,что там еще куча регистров используется - проверки всякие, возможно они блокируются. |
|||
18
H A D G E H O G s
05.02.15
✎
13:35
|
(17) Все верно.
Фильтр по всем разделителям нужен для выключенного отбора, при построеннии консолидированной отчетности, штоб не тормозило |
|||
19
ILoJes
06.02.15
✎
13:11
|
В общем на тестовой базе с 2мя документами и 2мя регистрами при одновременном запуске перепроведения всех документов в 3х сеансах с разными разделителями все равно вылетел конфликт блокировок
|
|||
20
Reaper_1c
06.02.15
✎
13:18
|
(0) Разделитель на технологическом уровне реализован как дополнительное поле во всех таблицах БД, которое включается в кластеризованные индексы первым по порядку. Комфортная работа при работе с отключенным разделением обеспечивается установкой отборов по значению разделителя, без этого будете иметь тотальное замедление.
(19) Ни о чем не говорит без указания количества записей в таблицах и количества модифицируемых данных в рамках одной транзакции. |
|||
21
ILoJes
06.02.15
✎
13:39
|
(20) Запущена стандартная обработка по перепроведению документов, документов по 500 ПН и 500 РН в каждом сеансе, при этом в ПН 1 строка, соответственно делаются движения из одной строки в регистре бух и регистре накопления, в РН - 2 строки, и соответственно делаются по 2 зеркальных записи...
Изначально пару раз отработало нормально, потом был добавлен запрос по регистру накопления при проведении РН, для того, чтоб увеличить нагрузку на регистр. После этого 2 раза запускалось перепроведение и в обоих случаях появлялся конфликт блокировок. И опять же - это примитивнейшая тестовая конфа с парой доков,регистров и реквизитов, на реальной, с десятком регистров и десятками строк в ТЧ, с различными проверками, страшно даже представить что будет |
|||
22
H A D G E H O G s
06.02.15
✎
13:42
|
(21) И че?
Ты даже не сказал, какого типа блокировка - управляемая или СУБД. По СУБД - конфликт блокировок легко словить на indexscan-е. |
|||
23
ILoJes
06.02.15
✎
14:01
|
(22) Программно я никаких блокировок не устанавливал, т.е. наверное, СУБД
во-вторых - смысл тогда мне от этого механизма, если 6 фирм начнут в одной базе в конце месяца перепроводить все свои документы и понесется "веселье" |
|||
24
H A D G E H O G s
06.02.15
✎
14:04
|
(23) Конфа на автоматических блокировках?
|
|||
25
ILoJes
06.02.15
✎
14:51
|
(24) Нет, на управляемых
|
|||
26
Гёдза
06.02.15
✎
15:09
|
а регистры то разделял?
|
|||
27
ILoJes
06.02.15
✎
15:17
|
(26) Тю, ну естессно, и регистры разделены и документы
|
|||
28
ILoJes
06.02.15
✎
16:39
|
Перенес самописку свою со своего файлового варианта на СКуЛьный сервер, все перепровелось без конфликтов блокировок, но в несколько раз медленней чем на локальной файловой
|
|||
29
Reaper_1c
06.02.15
✎
16:53
|
||||
30
H A D G E H O G s
06.02.15
✎
16:55
|
Мдать.
|
|||
31
Dolphinbet
06.02.15
✎
16:56
|
(28) а смысл на файловом варианте что-то проверять?)
|
|||
32
ILoJes
06.02.15
✎
17:06
|
(31) Смысл в том, чтоб протестировать механизм, который описан общими фразами, и про который фиг что то реально детально описанное найдешь в инете :)
|
|||
33
Dolphinbet
06.02.15
✎
17:10
|
я вообще не думал, что кому-то в голову придет тестировать блокировки на файловой базе)
|
|||
34
ILoJes
06.02.15
✎
17:12
|
тестировались изначально не блокировки, а механизм разделителя данных, а как конкретно он работает нигде толком не написано, хотя можно догадываться, что просто добавляется в соответствующие таблички дополнительная колонка и по ней 1с дополнительно условие отброра в запросы вставляет
|
|||
35
H A D G E H O G s
06.02.15
✎
17:16
|
(34) На ИТС все написано.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |