Мы делаем большую разработку здесь с помощью платформы Образцового Контроллера Представления, которую мы создали. Я часто говорю моим разработчикам, что мы должны нарушить правила шаблона разработки MVC сделать сайт выполненным быстрее. Это - навязывание товара для разработчиков, которые обычно не желают пожертвовать хорошо разработанным кодом за что-либо. Но производительность является нашим высшим приоритетом в создании веб-приложений, поэтому иногда мы должны пойти на уступки в платформе.
, Например, слой представления никогда не должен говорить непосредственно с базой данных, правильно? Но если Вы генерируете большие отчеты, то приложение будет использовать большую память для отказываний от тех данных через слои контроллера и модель. Если у Вас есть база данных, которая поддерживает курсоры, она может сделать приложение намного быстрее для удара базы данных непосредственно от слоя представления.
Производительность превосходит стандарты разработки, это - мое спорное представление.
Обычно разрешения и настройки основаны на дереве. Ваши настройки для сеанса будут указателем на настройки по умолчанию на один уровень выше ваших. Настройки вашего сеанса будут уже созданы и будут просто ссылаться на настройки по умолчанию при первом подключении.
Когда вы изменяете параметр, например, устанавливая значение storage_engine, вы либо создаете новую копию всех настроек и изменяете одно значение (как в Apache), либо добавляете еще один слой к дереву, который он должен проверить. в при разрешении значений. Я на самом деле не уверен, какой из них использует MySQL, но в любом случае, если вам не нужен этот параметр, вы не должны устанавливать его на каждом пути туда и обратно.
Если вам это нужно относительно часто, это может стоить снижения производительности. Аналогичная проблема возникает в PHP.