|
|
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
"Мы сами люди не местные", посему - в недоумении: в pg нельзя достучаться до вставляемых/удаляемых/ редактируемых записей в триггерах FOR STATEMENT? Т.е. "new" и "old" - записи, а не посевдотаблицы? И могут использоваться только в триггерах FOR EACH ROW? А куды ж тогда крестьянину податься? В смысле - есть ли шанс обойти сии грабли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 13:31:33 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZv, в FOR EACH ROW сохраняете куда-нибудь, в FOR STATEMENT читаете оттуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2014, 18:20:09 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
Ёш, Вообще-то конечная цель была - избавится от FOR EACH ROW... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 10:14:41 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZvВ смысле - есть ли шанс обойти сии грабли? В лоб - нет. В зависимости от задачи можно поиграться с rules'ами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 10:44:53 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
buddy_ekb В зависимости от задачи можно поиграться с rules'ами. Спасибо, попробуем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 18:33:46 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZvЁш, Вообще-то конечная цель была - избавится от FOR EACH ROW...А зачем вы это хотите сделать? (Я не издеваюсь, если что) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 22:16:22 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
WarstoneAZvЁш, Вообще-то конечная цель была - избавится от FOR EACH ROW...А зачем вы это хотите сделать? (Я не издеваюсь, если что) Сколько раз будет вызвана триггерная функция при вставке 100тыс. записей "пачкой"? Каковы будут при этом накладные расходы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 09:57:50 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZvWarstoneпропущено... А зачем вы это хотите сделать? (Я не издеваюсь, если что) Сколько раз будет вызвана триггерная функция при вставке 100тыс. записей "пачкой"? Каковы будут при этом накладные расходы? а почему вы спрашиваете? а если серьёзно - то вставку 100 тыс пачкой надо писать хранимкой, делающей и всё то, что вы хотели бы сделать триггером на стейтмент. а позаписный триггер (если вам нужен и он - для малых вставок) - отключать. И вообще уходить от мс-скл-ных привычек. да, а с руле настолько всё не так хорошо, как хотелось бы, что лучше не надо. закопайте руле где нашли, и всех советчиков туда же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 10:16:36 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
qwwqа если серьёзно - то вставку 100 тыс пачкой надо писать хранимкой, делающей и всё то, что вы хотели бы сделать триггером на стейтмент. а позаписный триггер (если вам нужен и он - для малых вставок) - отключать. Капитан Очевидность? (шутка, если что) 100 тыс. записей в моем случае - гипербола. Их изрядно меньше, но и требования к скорострельности высоки. Не вдаваясь в дальнейшие подробности - триггер (в нормальной реализации) в данном случае был бы лучшим решением. Ну, раз нет, так нет... qwwqИ вообще уходить от мс-скл-ных привычек. Не, уходить надо от "мощнейшей СУБД, оставляющей далеко за флагом жалкие поделки всяких там Ораклов и Мелкософтов". (не для раздувания холивора, а просто желчь выплеснуть (ибо достало слегка) - продолжения не будет). А от полезных привычек мы уходить не будем :-) qwwqда, а с руле настолько всё не так хорошо, как хотелось бы, что лучше не надо. закопайте руле где нашли, и всех советчиков туда же. "я так и знал!" (с) А если серьёзно - спасибо за предупреждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 10:42:01 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZv <> qwwqИ вообще уходить от мс-скл-ных привычек. Не, уходить надо от "мощнейшей СУБД, оставляющей далеко за флагом жалкие поделки всяких там Ораклов и Мелкософтов". (не для раздувания холивора, а просто желчь выплеснуть (ибо достало слегка) - продолжения не будет). А от полезных привычек мы уходить не будем :-) <> ну так уходите что-то мешает ? вас сюда насильно кто-то загнал ? не смотря на то, что мс-скл-стайл агрегирующий триггер на стейтмент по inserted/deleted таки мог бы быть удобен в некотором смысле однако, раз в ара-кале такого нет, то и в пж скорее всего не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 12:46:45 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
qwwqну так уходите рад бы в рай - да грехи не пускают... :-) ...вот и приходится "решать задачи, действуя в жестких рамках существующих ограничений" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 13:35:38 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZvСколько раз будет вызвана триггерная функция при вставке 100тыс. записей "пачкой"? Каковы будут при этом накладные расходы?А покажите Ваши тесты, если можно, пожалуйста. Интересно посмотреть/сравнить каковы у Вас при этом накладные расходы и что Вы ожидаете от СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 14:42:23 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
ЁшА покажите Ваши тесты Готовых нет, усекать до приемлимого состояния рабочий код - небыстро, проще написать что-нибудь чисто тестовое. Надо? Не, если у вас есть сокровенное знание об эффективности ROW-триггеров - выкладывайте сразу, без риторических вопросов... Ёшчто Вы ожидаете от СУБД. В данном конкретном случае или вообще? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 16:15:03 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZv <> Не, если у вас есть сокровенное знание об эффективности ROW-триггеров - выкладывайте сразу, без риторических вопросов... <>ай, командир, ай кроссафчег шли бы вы вася, ... лесом любой нуб в мсскл первым делом проникается идеей массовой обработки inserted/deleted и это сокровенное знание поднимает его в собсных глазах придя в область, где искомых пимпочек не обнаруживается, оный нуб начинает шумно выделять газы не вы первый обтекайте т.е. это несколько ожыдаемо //было и в моей частной истории знакомства с пж. аккуратно посмотрите на руле, но это настолько обложено граблями во всех возимоных и неожиданных местах, что вряд ли вы сумеете протиснуться в. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 16:29:38 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
qwwqшли бы вы вася, ... лесом Благодарю за полезнейший и, что немаловажно, доброжелательный совет. Не замедлю последовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:41:14 |
|
||
|
Триггеры FOR STATEMENT и использование NEW&OLD
|
|||
|---|---|---|---|
|
#18+
AZv, А никто не думал что в мсскл стейтмент триггеры сделаны такими, потому что у них роу триггеры дают бешенный оверхед и проще - стейтментами. В Пг и Оракле - не проще. И я могу объяснить: Во-первых: мсскл - блокировочник. А для блокировочника создать времяночку - просто. Для версионника - дорого. Очень дорого (в случае с триггером). Во-вторых: мсскл - блокировочник. Для блокировочника - медленные построчные триггеры - это кривость рук. Для версионника - возможность "несоздавать" версионную табличку - радость. Короче... Построчные триггеры в Версионнике - это клева. Стейтовые с таблицей - медленное и убогое. Включите версионность и мсскл и попадайте внутри триггера стейтового(всмысле поставьте там слип и по -9 прибейте процесс)... Должны узнать много нового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 18:00:13 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=130&tid=1998774]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
15ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 271ms |

| 0 / 0 |
