|
Подскажите методику/алгоритм | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
mzelensky
15.04.13
✎
09:13
|
Доброго всем!
Имеется 2 документа Док1 и док 2. В Док2 имеется запросик, который тянет кучу информации из Док1 (напрямую из документа) + стыкует с другими доками + парочка регистров + производит некоторые расчеты, группировки, итоги и выводит. Но при этом, 90% информации берется именно из документа Док1 (связь между ними по прямой ссылке). И вот тут у меня вопрос. Может сделать некий промежуточный оборотный регистр накопления, который будет заполняться при проведении Док1, а док2 будет брать данные уже из этого регистра?! Как плюс - часть расчетов перенести в другое место + частота расчетов уменьшится (т.е. облегчить запрос). Смысл есть?! Или особой разницы не будет и не заморачиваться?! |
|||||||
1
В тылу врага
15.04.13
✎
09:17
|
абстрактный сферический конь в вакууме
|
|||||||
2
Кирпич
15.04.13
✎
09:17
|
ну ты попробуй и нам доложи о результатах
|
|||||||
3
wise
15.04.13
✎
09:17
|
Смысл есть!
особaя разница будет, когда база ПОДРАСТЁТ и количество пользователей УВЕЛИЧИТСЯ. Переделать на Регистр |
|||||||
4
mzelensky
15.04.13
✎
09:18
|
(2) я привык сперва думатЬ .а потом делать. Все-таки переделака там будет значительная....и не хочется сперва сделать, а потом понять, что толку от этого 0
|
|||||||
5
mzelensky
15.04.13
✎
09:19
|
(1) какой уточняющей инфы тебе не хватает для перевода коня из вакуума на степные просторы?!
|
|||||||
6
Maxus43
15.04.13
✎
09:20
|
что-то с точки зрения СУБД разницы нет, если данные только по одному документу тянутся. А вот если есть Отчет, который смотрит по нескольким док1 - тогда смысл есть
|
|||||||
7
В тылу врага
15.04.13
✎
09:22
|
(5) если денормализация действительно упростит расчеты то да, но обычно ускорение в чтении данных получается за счет уменьшения скорости записи
|
|||||||
8
mzelensky
15.04.13
✎
09:22
|
(6) отчета нет. Смысл такой - док1 это конечный документ в цепочке бизнес-процесса. Док2 является консолидирующим доком, который объединяет в себе финальные доки разных блоков.
|
|||||||
9
Aleksey
15.04.13
✎
09:23
|
Ну у меня такой же есть док. смысла вообще нет.
Т.е. у меня есть док "Условия предоставления скидки клиенту". (Док1) И есть другой док. который на основании этого дока + регистра продаж + взаиморасчеты (дебиторка/просрочка) + еще чего то формирут второй док который фиксирует данные и на основание этих данных и первого дока рассчитывает размер скидки |
|||||||
10
Aleksey
15.04.13
✎
09:24
|
Я к тому что без конкретики рассуждать о сферическом документе не имеет смысла
|
|||||||
11
Maxus43
15.04.13
✎
09:24
|
(8) т.е. док2 тянет данные не только из док1, но и ещё с кучи разных?
|
|||||||
12
mzelensky
15.04.13
✎
09:26
|
(11) Не прям кучи, но тянет.
|
|||||||
13
Maxus43
15.04.13
✎
09:27
|
(12) ну тогда есть только смысл чтобы все эти доки с которых тянет писали промежутки в регистр. а док2 уже с Одной физической таблицы будет тянуть всё скопом, а не по разным ползать. Конкретно 1 док менять ради этого смысла нет, надо всё
|
|||||||
14
wise
15.04.13
✎
09:30
|
(7) обычно ускорение в чтении данных получается за счет уменьшения скорости записи
можно ПО-ПОДРОБНЕЕ... |
|||||||
15
mzelensky
15.04.13
✎
09:31
|
(13) ясно. т.е. оптимизацию можно делать на уменьшение "читаемых" таблиц.
|
|||||||
16
Maxus43
15.04.13
✎
09:34
|
(15) ну это логично. Отчасти и регистры сделаны для этого, чтоб не по документам разным собирать инфу, а по конкретным регистрам учета
|
|||||||
17
mzelensky
15.04.13
✎
09:43
|
(16) а если с точки зрения числа обращений к базе?!
Т.е. легче выполнить один большой запрос или несколько маленьких ?! В итоге резульат будет одинаковый, но будет собираться либо одним запросом, либо через несколько?! |
|||||||
18
В тылу врага
15.04.13
✎
09:44
|
(14) что подробнее то? ты хочешь читать быстрее, для этого ты читаешь предрасчитанные данные, на их вычисление перед записью тратиться время - скорость записи падает
|
|||||||
19
Maxus43
15.04.13
✎
09:55
|
(17) как спроектируешь, так и будет. Вобще чем меньше запросов к базе тем лучше
|
|||||||
20
mzelensky
15.04.13
✎
09:59
|
(19) Ок, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |