Не может создать триггер MySQL с ТРИГГЕРНЫМ полномочием на 5.1.32

Проблема первого и наиболее театрального представления, с которой можно столкнуться с NHibernate, состоит в том при создании новой фабрики сессии для каждой сессии, Вы создаете. Только один экземпляр фабрики сессии должен быть создан для каждого выполнения приложений, и все сессии должны быть созданы той фабрикой.

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

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

, Который приносит нам к нетерпеливой выборке, противоположности ленивой загрузки. При пересечении иерархий объектов или цикличного выполнения через наборы, может быть легко потерять след того, сколько запросов Вы делаете, и Вы заканчиваете с экспоненциальным количеством запросов. Нетерпеливая выборка может быть сделана на на основание запроса с СОЕДИНЕНИЕМ ВЫБОРКИ. При редких обстоятельствах, такой, как будто существует конкретная пара таблиц, Вы всегда выбираете соединение, рассматриваете выключение ленивой загрузки для тех отношений.

Как всегда, SQL Profiler является отличным способом найти запросы, которые отстают или сделаны неоднократно. В моем последнем задании у нас была функция разработки, которая считала запросы на запрос страницы также. Высокое количество запросов для стандартной программы является самым очевидным индикатором, что Ваша стандартная программа не работает хорошо с NHibernate. Если количество запросов на стандартную программу или запрос выглядит хорошим, Вы, вероятно, до настройки базы данных; удостоверяясь у Вас есть достаточно памяти для хранения планов выполнения и данных в кэше, правильно индексируя данные, и т.д.

Одна хитрая небольшая проблема, с которой мы столкнулись, была с SetParameterList (). Функция позволяет Вам легко передавать список параметров к запросу. NHibernate реализовал, это путем создания одного параметра для каждого объекта передало в. Это приводит к различному плану запросов для каждого количества параметров. Наши планы выполнения почти всегда становились выпущенными от кэша. Кроме того, многочисленные параметры могут значительно замедлить запрос. Мы сделали пользовательский взлом NHibernate для отправки объектов как разграниченного списка в единственном параметре. Список был разделен в SQL Server функцией табличного значения, которую наш взлом автоматически вставил в В пункт запроса. Могли быть другие мины как это в зависимости от Вашего приложения. SQL Profiler является лучшим способом найти их.

12
задан OMG Ponies 26 October 2009 в 21:20
поделиться

1 ответ

Вот отчет об ошибке для этого . Один из вариантов - запустить Включена опция --log-bin-trust-function-creators, которая позволит вам создавать триггеры без привилегии SUPER. На этой странице объясняется, что означает включение этой опции. В основном это связано с тем, считает ли MySQL ваши триггеры детерминированными (т.е. безопасными для репликации). Ваш администратор базы данных может чувствовать себя комфортно, а может и не чувствовать себя комфортно в этом режиме. Это не идеально, но лучше, чем выдавать СУПЕР ...

ОБНОВЛЕНИЕ: Документы по второй ссылке на самом деле звучат так, будто вы можете обойти это, используя репликацию на основе строк или даже репликацию в смешанном режиме . По крайней мере, это сделает его безопасным для репликации. Я не знаю, потребуется ли вам по-прежнему SUPER, но, возможно, стоит попробовать.

14
ответ дан 2 December 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: