以下の動きが不要な場合はそれぞれ以下の指定をWP_Queryに加えるとパフォーマンスがあがるかもしれないようです。
'no_found_rows' => true
ページャー機能が不要な場合
'update_post_meta_cache' => false
カスタムフィールド系を利用しない場合
'update_post_term_cache' => false
タクソノミー系を利用しない場合
'fields' => 'ids'
IDのみを取得できればいい場合
参考:https://10up.github.io/Engineering-Best-Practices/php/