Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como otimizar consultas do Entity Framework


Sim. Reescreva a consulta LINQ. A maioria das consultas LINQ to Entities pode ser escrita de muitas maneiras diferentes e será traduzida para SQL de maneira diferente. Como você não mostra o LINQ nem o SQL nem o plano de consulta, é tudo o que posso dizer.

Você é inteligente, porém, para tentar executar o SQL diretamente. A compilação da consulta também pode levar tempo, mas você descartou isso ao determinar que o SQL é responsável por todo o tempo medido.

Experimentar:
    var query = from pe in genesisContext.People_Event_Link
                where pe.P_ID == key
                from ev in pe.Event // presuming one to many
                select ev;

ou se pe.Event for um para um:
    var query = from pe in genesisContext.People_Event_Link
                where pe.P_ID == key
                select pe.Event;

    return query;