Spec-Zone .ru
спецификации, руководства, описания, API
|
Сохраненные подпрограммы (процедуры и функции) поддерживаются в MySQL 5.7. Сохраненная подпрограмма является рядом SQL-операторов, которые могут быть сохранены в сервере. Как только это было сделано, клиенты не должны продолжить переиздавать отдельные операторы, но могут обратиться к сохраненной подпрограмме вместо этого.
Сохраненные подпрограммы требуют proc
таблица в mysql
база данных. Эта таблица составляется во время процесса установки MySQL 5.7. Если Вы обновляете до MySQL 5.7 от
более ранней версии, убедитесь, что обновили свои таблицы предоставления, чтобы удостовериться что proc
таблица существует. См. Раздел
4.4.7, "mysql_upgrade — Таблицы MySQL Check и Upgrade"
.
Сохраненные подпрограммы могут быть особенно полезными в определенных ситуациях:
Когда многократные клиентские приложения пишутся на различных языках или работе над различными платформами, но должны выполнить те же самые операции базы данных.
Когда безопасность является главной. Банки, например, используют хранимые процедуры и функции для всех общих операций. Это обеспечивает непротиворечивую и безопасную среду, и подпрограммы могут гарантировать, что каждая работа должным образом регистрируется. В такой установке приложения и пользователи не имели бы никакого доступа к таблицам базы данных непосредственно, но могут только выполнить определенные сохраненные подпрограммы.
Сохраненные подпрограммы могут обеспечить улучшенную производительность, потому что меньше информации должно быть отправлено между сервером и клиентом. Компромисс - то, что это действительно увеличивает загрузку на сервере базы данных, потому что больше работы делается на стороне сервера, и меньше делается на клиенте (приложение) сторона. Рассмотрите это, если много клиентских машин (таких как веб-серверы) обслуживаются только одними или несколькими серверами баз данных.
Сохраненные подпрограммы также позволяют Вам иметь библиотеки функций в сервере базы данных. Это - функция, совместно использованная современными языками приложения, которые включают такому проекту внутренне (например, при использовании классов). Использование этих функций языка клиентского приложения выгодно для программиста даже вне контекста использования базы данных.
MySQL следует за синтаксисом SQL:2003 для сохраненных подпрограмм, который также используется DB2 IBM. Весь синтаксис, описанный здесь, поддерживается и любые ограничения, и расширения документируются где необходимо.
Можно найти
Для ответов на некоторые обычно задаваемые вопросы относительно сохраненных подпрограмм в MySQL см. Раздел B.4, "FAQ MySQL 5.7: Хранимые процедуры и Функции".
Есть некоторые ограничения на использование сохраненных подпрограмм. См. Раздел D.1, "Ограничения на Сохраненные Программы".
Двоичное журналирование для сохраненных подпрограмм имеет место как описано в Разделе 18.7, "Двоичное Журналирование Сохраненных Программ".