Доктрина 2 — MySQL : кратные запросы «БАЗОВОЙ ТАБЛИЦЫ» добавляются к каждому представлению

#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. Но ваш обходной путь верен, функция может быть отключена с помощью этого нового параметра