Sequelize spowalnia po dodaniu relacji :M do dołączonych relacji.:M relacje powodują zduplikowanie wierszy w wyniku sql, więc musimy poświęcić czas na deduplikację tego i parsowanie go do modeli.
Aby uzyskać optymalną wydajność, możesz pozostawić relacje :1 w swoim dołączeniu, ale wykonać :M w oddzielnych zapytaniach.
Oczywiście samo zapytanie może być również powolne, ale najprawdopodobniej jest to wynik narzutu Sequelize - Spróbuj uruchomić zapytanie bezpośrednio w bazie danych.
(Zastrzeżenie:Sequelize core developer)
Na jakiej wersji korzystasz? Początkowa liczba, którą zgłosiłeś, brzmi wysoko, ale słyszeliśmy o tych liczbach, zanim przeprowadziliśmy pewne optymalizacje, spróbuj przetestować z najnowszym git masterem.
Zawsze pracujemy nad optymalizacją kodu dla tych scenariuszy, ale deduplikacja 20 000 wierszy do 5000 wierszy zawsze będzie wymagała kilku cykli procesora.