Так как MySQL начал поддерживать хранимые процедуры, я никогда не использовал их. Отчасти потому, что я не отличный писатель, отчасти потому, что часто работаю с администраторами баз данных, которые делают для меня эти варианты, отчасти потому, что я просто согласен с тем, что знаю.
С точки зрения выбора данных, особенно при рассмотрении выбора, который по существу является дезадаптацией (объединением) и агрегатом (avg или max, подзапросами w/counts и т.д.), выбор данных, что является правильным выбором в MySQL 5.x? Вид? Или хранимая процедура?
Представления Мне удобно - вы знаете, как должен выглядеть ваш запрос SELECT, поэтому вы просто создаете его, удостоверяете, что он проиндексирован и что-то еще, а затем просто выполните CREATE VIEW [View] AS SELECT [...]
. Затем в моем приложении я рассматриваю представление как таблицу только для чтения - он представляет собой ненормированную версию моих нормализованных данных.
Каковы недостатки здесь - если они есть? И что изменилось бы (прибыль или убытки), если бы я переместил этот точный оператор SELECT в хранимую процедуру?
Я надеюсь найти какую-нибудь полезную информацию "под капотом", которую трудно найти во время поиска в этой теме, но я действительно приветствую все комментарии и ответы.