Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Осмысленное сообщение об ошибке 
:(
    Опции темы
Vit
Дата 7.9.2005, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 5
Всего: 207



Цитата(leniviy @ 7.9.2005, 01:08)
Что мешает в after триггер вставить Rollback?


Ответ уже дан:

Цитата(Vit @ 6.9.2005, 09:38)
Триггер ГОРАЗДО более напряжный с точки зрения рассходов ресурсов так как отрабатывается после транзакции. Если я ставлю constraint то сервер сначала проверяет запрос на constraint а только потом его выполняет, если поставить триггер, то реально произойдёт - изменение таблицы, изменение всех зависимых таблиц, перестройка индексов и кластерного индекса, увеличение аутоинкрементов в таблице и всех связанных, затем отработка запроса триггера и откат транзакции. В течение всего этого времени все вовлечённые таблицы будут полностью или частично заблокированны на запись, а иногда и на чтение (в зависимости как hints установлены), кроме того для отработки такой транзакции сам сервер будет ждать пока все вовлечённое дело таблицы будут доступны на редактирование. Итого расходы на триггер просто несопоставимы с constraint - речь идёт о накладных расходах отличающихся на порядки! База данных и так очень загружена, лишний триггер вполне может очень сильно тормознуть систему, особенно при учёте что вовлечены таблицы размером с пол-террабайта при количестве одновременных подключений далеко за тысячу и нагрузкой от 10 до 100 запросов в секунду...



Цитата(SergeBS @ 7.9.2005, 00:27)
С этого и надо было начинать" Штирлиц.
С такими аппетитами без 3-хзвенки не выживешь. Все остальное - паллиатив.
И то наверняка кластеризовать придется.

А как с сетевым трафиком дела? Сервак несколько портов в несколько подсеток имеет?


Трёхзвенка местами есть, там где это возможно... Всё намного сложнее... В системе таких серваков...много, довольно сложные взаимосвязи. Задача кластеризации уже решается - пока стоят четырёхпроцессорные компы с оптоволоконным железным рейдом (сундук такой за пол миллиона с [censored 12]ой тучей винтов и собственной операционкой), но переходим на кластеры очень скоро. Сетевой трафик фигня - сетки гигабайтные, да и программы по умному работают, лишний трафик не гоняют. Подсеток насколько я знаю 4.

Добавлено @ 15:38
Цитата(SergeBS @ 7.9.2005, 00:27)
Какой бизнес - неважно. Вот вся цепочка:
- в любом случае либо есть проверка, либо нет.
- для любой проверки либо есть возможность получить правдоподобное значение, либо нет.
- соответственно если есть возможность, то либо есть необходимость вставлять это правдоподобное, либо нет.



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


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
leniviy
Дата 7.9.2005, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Vit
Цитата
Ответ уже дан

Да, триггер тяжелее, но констраинт тоже не такой уж безобидный.
Связанные таблицы лочатся, автоинкремент тоже растет.
разница в том, что с констраинтом апдэйт доходит не до конца и откатывается
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.