Интересный вопрос.
Я расскажу вам, как подойти к проблеме.
Таким образом, вы должны начать с определения именно три вещи:
- ожидаемая функциональность
- политики доступа к функциональности
- технической политики обновления
Здесь I» Подробные данные.
Итак, первое, что вы должны определить свою функциональность. Поступая таким образом, вы сможете узнать, не означает ли добавление карты всегда во всех возможных парадигмах (извините за педантичное слово, которое я не могу найти более правильным) вашей информационной системы, что эта карта MUST существуют в другой таблице в соответствии с вашими спецификациями. Эта функциональная ссылка 1-1 должна быть указана TRUE или FALSE. Это действительно важно. Сказанное другими словами, если есть хотя бы одна возможность, что в один прекрасный день вы не захотите копировать эту запись в другую таблицу, это означает, что триггер является неправильным решением или, по крайней мере, его следует учитывать в аварийном режиме (например, переменная внутри, которая позволяет ему не выполняться в некоторых условиях).
Затем идет вторая точка, о политике доступа. Вы должны знать, будут ли разрешенные системы доступа делать это, используя ваш прикладной уровень или если они могут разработать свой собственный (стиль SAAS).Если это так, ваш php-слой будет бесполезен, а хранимая процедура - отличный вариант, поскольку каждый технический и бизнес-уровень будет проходить через него да или да.
Последнее, что нужно знать о том, сможете ли вы обновить свой php-слой за один день. В большинстве случаев ответ «да». Если это так, возможно, вам придется изменить часть, содержащую эту логику sql, о которой вы говорите. Тогда, имея все в хранимой процедуре и сохраняя ее жестко закодированную в php, определенно сэкономит ваше время и улучшит стабильность.
Левый мозг в правом сердце, я расскажу вам свое личное мнение после всего. Мне очень нравится ходить с хранимыми процедурами, но не использовать триггеры. Если среда позволяет это, я бы пошел на базовую партию, назвав набор определенных хранимых процедур, сконцентрировав деятельность за пределами онлайн-области.
Преимущества заключаются в следующем:
- нет или меньше рисков прерывания интернет-процесса, так как вы уменьшаете количество операций
- разные графики для alliviate загрузки базы данных
- более безопасной политики, поскольку для выполнения хранимой процедуры требуется только один грант, в то время как использование одного и того же sql с php потребует вложений для вставки/обновления
- лучшее качество ведения журнала: вы можете иметь журнал на каждое задание
- лучший аварийный ответ: при неудачном выполнении задания (если он хорошо продуман) вы можете перезапустить его, и все.
Долгий пост, но это было интересно, и я действительно хотел поделиться этими идеями.
Cheers!
Я немного изменил ваше название, чтобы отразить дилемму. Если вы предпочитаете его, как было, прежде чем вы сможете его полностью вернуть. – Sebas