include。:Mリレーションをinclude.:Mリレーションに追加すると、Sequelizeの速度が低下するため、SQL結果の行が重複するため、重複排除とモデルへの解析に時間を費やす必要があります。
最適なパフォーマンスを得るには、インクルードに:1の関係を残しますが、個別のクエリで:Mを実行します。
もちろん、クエリ自体も遅くなる可能性がありますが、おそらくそれはSequelizeオーバーヘッドの結果です-データベースで直接クエリを実行してみてください。
(免責事項:コア開発者の続編)
どのバージョンで実行していますか?あなたが報告した最初の数は高いように聞こえますが、いくつかの最適化を行う前にそれらの数を聞いたことがあります。最新のgitマスターに対してテストしてみてください。
これらのシナリオに合わせてコードの最適化に常に取り組んでいますが、20.000行を5.000行に重複排除するには、常にCPUサイクルが必要になります。