|
|
|
Оправдано ли использование тригера?
|
|||
|---|---|---|---|
|
#18+
Ребят, задача тривиальная, вот думаю, как лучше подойти, чтобы ее решить! Есть некий скрипт, который вносит в таблицу "id товара", "цену" и "дату". Такое действие происходит ежедневно. Нужно в отчете отслеживать, насколько изменилась цена по данному товару относительно вчерашнего дня (сегодняшнюю цену выводим, и в скобках разницу)! Например, книга вчера стоила 100 рублей, сегодня 110. Мы пишем текущую стоимость товара и соответственно разницу(2 поля). Вопросы: 1) Нужно ли вводить дополнительное поле, в котором и хранить как раз разницу, в примере выше это +10 или в SELECT проще как то доп. запросом получить разницу и нигде ее не хранить? 2) Насколько оправданно здесь использовать триггер? Я имею ввиду при вставке данных, чтобы он вычислял разницу относительно вчерашнего дня и записывал ее в отведенное для этого поле. При таком подходе SELECT сводится к простому: Код: sql 1. Мне кажется, что второй вариант с точки зрения выборок гораздо рациональнее и быстрее. Но вот загвоздка в том, что товаров порядка 10 тысяч, не будет ли триггер "вешать" БД когда я попытаюсь вставить хотя бы 1000 цен за один инсерт? Пожалуйста, объясните как решать такого рода задачи. Вроде бы просто, но вот на деле куча нюансов выплыла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 16:50 |
|
||
|
Оправдано ли использование тригера?
|
|||
|---|---|---|---|
|
#18+
для начала решается в лоб... просто приджойньте цену за вчера и все... а все 10 тыс разом вам допустим и не нужны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 17:14 |
|
||
|
Оправдано ли использование тригера?
|
|||
|---|---|---|---|
|
#18+
А фактически как лучше решить? Чтоб без "для начала" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 17:19 |
|
||
|
Оправдано ли использование тригера?
|
|||
|---|---|---|---|
|
#18+
Почитайте теорию по термину "переопределённые данные". А потом забудьте о доп. полях и триггерах, и сделайте так, как предложил Alex_Ustinov . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2016, 17:23 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=111&tid=1832181]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 376ms |

| 0 / 0 |
