Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / таблица с итоговыми суммами в некоторых разрезах.. / 18 сообщений из 18, страница 1 из 1
14.08.2012, 09:17
    #37915435
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Вот сижу, и думаю.

а вообще такой подход нормальный.

так как часто нужна позиция, например, Контрагент - сумма счета, - общая сумма всех счетов.

то логично хранить, общую сумму в таблице,
для того, что бы запрос на выборку не нагружать лишними подзапросами итд итп.

и сделать, такие суммы, на пример, в разрезе месяцев итд. итп.

а запрос

упрощается

до

Код: sql
1.
2.
3.
4.
5.
6.
7.
select 
   bill.sum sd bill_sum, 
   clc.sum as clc_sum 
from 
  table1  t1
  left join t2 on t2.id = t1.id_bill and ...
  



а логику суммирования воткнуть в триггера.

в данном случае считаю потерять, условно, секунду на вставке не так накладно, как
для большего количества юзеров, усложнять итоговые запросы...
...
Рейтинг: 0 / 0
14.08.2012, 09:40
    #37915456
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Изобретаете олап ?
...
Рейтинг: 0 / 0
14.08.2012, 09:51
    #37915473
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
ну, не совсем )

когда мого запросоав, и много подобных элементов, приходится извращаться.
...
Рейтинг: 0 / 0
14.08.2012, 11:50
    #37915624
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Джибсну, не совсем )
А в чём отличие?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.08.2012, 12:40
    #37915704
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Dimitry SibiryakovДжибсну, не совсем )
А в чём отличие?

что не во всех разрезах и не по всем таблицам. )
...
Рейтинг: 0 / 0
14.08.2012, 14:14
    #37915881
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Dimitry SibiryakovДжибсну, не совсем )
А в чём отличие?

Как минимум в том, что OLAP по определению "посмертен".
Здесь явно "оперативка", ибо " для большего количества юзеров, усложнять итоговые запросы ".
Чел просто хочет хранить результат sum для "онлайновых" вещей.
...
Рейтинг: 0 / 0
14.08.2012, 15:18
    #37916081
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Именно.

как бы минимизировать всякие "вычисления", для отображения данных на страницах.

возможно даже избавляться от джоинов.
...
Рейтинг: 0 / 0
14.08.2012, 16:41
    #37916327
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
материализованная (индексированная) вьюха лучше триггеров.
...
Рейтинг: 0 / 0
14.08.2012, 17:37
    #37916426
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
SERG1257материализованная (индексированная) вьюха лучше триггеров.

речь больше про mysql
там со вьюхами тяжко.
...
Рейтинг: 0 / 0
14.08.2012, 18:44
    #37916559
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
SERG1257материализованная (индексированная) вьюха лучше триггеров.

Чем лучше?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.08.2012, 20:00
    #37916634
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Джибскак бы минимизировать всякие "вычисления", для отображения данных на страницах.
Зачем минимизировать? Ну только если работает медленно. А если работает нормально - не трогать.


ps. "Говорят, процессору вредно простаивать" (почти по Стругацким) :)
...
Рейтинг: 0 / 0
15.08.2012, 12:38
    #37917364
таблица с итоговыми суммами в некоторых разрезах..
Джибс,

автора вообще такой подход нормальный.
если это вопрос, то - да. денормализация - это вполне нормальный подход.

автора логику суммирования воткнуть в триггера.
только не в триггера, а в хранимки вставки/редактирования.
...
Рейтинг: 0 / 0
15.08.2012, 12:51
    #37917408
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
если это вопростолько не в триггера, а в хранимки вставки/редактирования.

А в чём разница?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.08.2012, 15:33
    #37917890
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
S.G.Джибскак бы минимизировать всякие "вычисления", для отображения данных на страницах.
Зачем минимизировать? Ну только если работает медленно. А если работает нормально - не трогать.


ps. "Говорят, процессору вредно простаивать" (почти по Стругацким) :)


у меня несколько иной подход.

даже секцианиование несколько специфичное ради интереса можно реализовать.
...
Рейтинг: 0 / 0
15.08.2012, 15:34
    #37917891
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
если это вопросДжибс,

автора вообще такой подход нормальный.
если это вопрос, то - да. денормализация - это вполне нормальный подход.

автора логику суммирования воткнуть в триггера.
только не в триггера, а в хранимки вставки/редактирования.

да, это был вопрос.
просто упустил, что не нарисовал вопросительный знак.
...
Рейтинг: 0 / 0
16.08.2012, 05:13
    #37918622
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
Dimitry SibiryakovЧем лучше?Надежнее. Триггер можно отключить (безусловно по веской причине, самым уполномоченым пользователем), а затем включить и никто не заметит подвоха. Со вьюхой этот номер не пройдет. Вьюха не позволит себя редактировать (по ошибке конечно). Для минимизации ущерба неплохой практикой будет перепроверять результаты зависимой таблицы (типа ночью выдать запрос - дай-ка мне строки в которых сумма или количество не совпадают). Теоретически (у некоторых СУБД и некоторых редакций), оптимизатор может переписать запрос на лету чтобы использовать мат.вьюху (на практике мне это никогда не удавалось - то задача не подходящая, то редакция не та).

С другой стороны в триггер можно напихать больше логики: он может быть более быстрым (вносить изменения не каждый раз, а оптом по завершению бизнес транзакции) или более продвинутым (использовать системные переменные типа имя пользователя или дата обработки)
...
Рейтинг: 0 / 0
16.08.2012, 13:00
    #37919241
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
SERG1257Надежнее. Триггер можно отключить (безусловно по веской причине, самым уполномоченым
пользователем), а затем включить и никто не заметит подвоха. Со вьюхой этот номер не
пройдет. Вьюха не позволит себя редактировать (по ошибке конечно).
Зато позволит вставить данные прямо в базовую таблицу. Конечно же, уполномоченному
пользователю.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.08.2012, 12:48
    #37922833
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
таблица с итоговыми суммами в некоторых разрезах..
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / таблица с итоговыми суммами в некоторых разрезах.. / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]