Функции MySQL, на которые я могу положиться - PullRequest
1 голос
/ 14 января 2011

Итак, я разрабатываю CMS на основе PHP / MySQL, для которой требуется как минимум PHP 5.1 и MySQL 5.0 (с поддержкой InnoDB).Теперь мне интересно, какие функции MySQL я могу безопасно использовать, не заметив однажды, что «О, хорошо, что дерьмовый хостер отключил функцию X, чёрт, теперь я облажался».

Так что мой вопроскакие из этих функций могут стать проблематичными (= могут быть отключены, требовать специальной настройки, требовать привилегий пользователя):

  • транзакций и FK в InnoDB (конечно, недоступно для MyISAM)
  • блокировка таблиц (MyISAM и InnoDB)
  • хранимые процедуры

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

Ответы [ 2 ]

0 голосов
/ 14 января 2011

Все, что вы упомянули, встроено как часть конкретного двигателя и поэтому может быть настроено (в некоторой степени) для каждого двигателя.Однако в большинстве случаев настройки по умолчанию - это путь.

Другими словами, программирование вашей CMS способом, совместимым со всеми возможными сценариями конфигурации, нецелесообразно (и, на мой взгляд, трата впустую).времени).Придерживайтесь значения по умолчанию и сделайте его частью требований.


Некоторые аспекты поведения транзакций в движке InnoDB можно настраивать, но не отключать.

Доступны только хранимые процедурыMySQL версии 5.0 и более поздних версий.


Из всего списка я бы сказал, что хранимые процедуры являются менее "стабильными", и в будущих выпусках ситуация может немного измениться.Возможно, добавив новые функции.

0 голосов
/ 14 января 2011

Для хранимых процедур требуется привилегия для их создания.

Транзакции и блокировки всегда доступны, FK слишком долго, если у вас есть разрешения для обеих задействованных таблиц. вопрос задан около получаса назад, в котором пользователь спрашивал «что делать, когда хост отключил InnoDB engine».

...