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

Associações lentas no SequelizeJS


Sequelize fica mais lento quando você adiciona relações :M ao seu include.:M relações resultam em linhas duplicadas em seu resultado sql, então temos que gastar tempo desduplicando isso e analisando-o em modelos.

Para um desempenho ideal, você pode deixar suas relações :1 em sua inclusão, mas faça o :M em consultas separadas.

É claro que a consulta em si também pode ser lenta, mas provavelmente é o resultado da sobrecarga do Sequelize - Tente executar a consulta diretamente no banco de dados.

(Isenção de responsabilidade:Sequelize o desenvolvedor principal)

Em qual versão você está rodando? O número inicial que você relatou parece alto, mas ouvimos falar desses números antes de fazermos algumas otimizações, tente testar com o último git master.

Estamos sempre trabalhando na otimização do código para esses cenários, mas a desduplicação de 20.000 linhas para 5.000 linhas sempre exigirá alguns ciclos de CPU.