Влияет ли версионное поведение на скорость запросов в Doctrine 1.2.4?

Я наблюдаю странное поведение при использовании Doctrine::getTable() и выполнении запросов с его использованием.

В некоторых случаях накладные расходы практически отсутствуют, а в других случаях накладные расходы составляют более 200 мс при первом вызове Doctrine::getTable() (хотя накладные расходы для последующих вызовов той же таблицы невелики).

Действие работает так.

а. DoctrineTable вызывается для выполнения запроса (рассматриваемая таблица использовалась для создания файлов модуля действий) с минимальными накладными расходами на table A b. Форма сохраняется c. DoctrineTable вызывается для выполнения запроса к несвязанной таблице (table B) и имеет значительные накладные расходы (200+ мс) d. DoctrineTable вызывается для другой таблицы (table C) для выполнения другого запроса практически без накладных расходов

Я попробовал действие с удаленным запросом DoctrineTable на шаге c, чтобы увидеть, была ли это общая проблема с загрузкой, но запрос на шаге d по-прежнему выполняется с небольшими накладными расходами или без них. Я запускал запросы с использованием Doctrine_Query непосредственно в действии, чтобы увидеть, имеет ли это значение, и влияние скорости все еще существует.

Неважно, какой запрос в проблемной таблице, там те же накладные расходы/снижение производительности.

Единственная разница с медленной таблицей (table B) заключается в том, что она имеет версионное поведение, в отличие от других таблиц (table A и table C). Может ли это повлиять на скорость первоначального запроса (последующие запросы к этой таблице выполняются быстро после выполнения первого)?


person Simon Cast    schedule 13.01.2014    source источник


Ответы (1)


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

person Simon Cast    schedule 13.01.2014