Когда триггеры MySQL не очень хорошая идея? - PullRequest
0 голосов
/ 09 января 2012

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

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

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

Существуют ли общие практические правила или конкретные случаи, когда триггеры не являются хорошей идеей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...