SQLALchemy ORM Query выполняется очень долго - с очень незначительным изменением в подзапросе

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

Измените это:

if (gameObject.transform.position.y >= TopScreenBound.y)
{
    direction.y *= -1;
}

if (gameObject.transform.position.y <= BottomScreenBound.y)
{
    direction.y *= -1;
}

К этому:

if (gameObject.transform.position.y >= TopScreenBound.y)
{
    gameObject.transform.position.y = TopScreenBound.y;
    direction.y *= -1;
}

if (gameObject.transform.position.y <= BottomScreenBound.y)
{
    gameObject.transform.position.y = BottomScreenBound.y;
    direction.y *= -1;
}
-1
задан Ilja Everilä 7 March 2019 в 08:10
поделиться

1 ответ

В современном мире квантовых вычислений и автомобилей с автоматическим управлением я бы ожидал, что множественные объединения будут простой проблемой. Оказывается, это так.

Мой коллега предложил этот ответ, и он сработал. Я пропускал группу_by. group_by в подзапросе, очевидно, значительно сокращает время обработки.

Все, что мне нужно было сделать, это изменить subq1 следующим образом:

 subq1 = session.query(su.DistCode,dr.RtrId, su.RtrCode, su.InvoiceNo, su.SlabId, 
                          sh.SchId, sslab.PurQty.label('PQ'), 
                      sslab.DiscPer.label('DP'), 
                      sslab.FlatAmt.label('FA')).join(sh).join(dr, and_(dr.DistCode==su.DistCode, dr.RtrCode==su.RtrCode)).join(sslab,and_(su.SlabId==sslab.SlabId, sh.SchId==sslab.SchId)).group_by(su.DistCode,dr.RtrId, su.RtrCode, su.InvoiceNo, su.SlabId, sh.SchId, sslab.DiscPer, sslab.FlatAmt, sslab.PurQty).subquery()

Обратите внимание на group_by в конце. Работал как шарм. работает менее чем за минуту.

0
ответ дан Venu 7 March 2019 в 08:10
поделиться
Другие вопросы по тегам:

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