#php #mysql #symfony #doctrine-orm #symfony4
Вопрос:
Знаете ли вы, почему каждый просмотр моего веб-сайта Symfony 4.4.25 с использованием Doctrine ORM 2.9.3 добавляет от 3 до 10 запросов, подобных этому:
SHOW FULL TABLES WHERE Table_type = 'BASE TABLE'
База данных-MySQL версии 5.7
Комментарии:
1. Похоже, это обычная проблема с пакетами, которые «изолируют» пользователя от MySQL. Они небрежно относятся к использованию множества дополнительных, казалось бы, ненужных запросов для сбора информации.
2. Не уверен достаточно, чтобы опубликовать его в качестве ответа, но это может быть как-то связано с неправильно настроенным кэшем метаданных, поэтому он каждый раз запрашивает метаданные. Проверить symfony.com/doc/current/reference/configuration/doctrine.html
3. @FilipHalaxa спасибо за ссылку, но после того, как я испробовал все возможные возможности, у меня все еще есть дополнительные запросы. Странный.
4. Глупый вопрос, но разве вы случайно не выполняете миграцию по каждому запросу?
5. @FilipHalaxa нет, но спасибо за ваше размышление
Ответ №1:
У меня была та же проблема с недавней установкой symfony 4.4, и я исправил ее, удалив следующий параметр из doctrine_migrations.yaml
:
enable_profiler: '%kernel.debug%'
Комментарии:
1. Да, это ошибка на данный момент, будет объединена в следующем выпуске : github.com/doctrine/DoctrineMigrationsBundle/pull/421
2. Но ваш обходной путь верен, функция может быть отключена с помощью этого нового параметра