Pluckのあるクエリでexplainをどうやって出力するか

idが1000より大きいユーザの地域一覧を取りたかった User.distinct.where('id > 1000').pluck(:city) というコードを書いて、「distinct意味ないじゃん」みたいなことを言われた 実はクエリの遅延評価によってpluckまでクエリに含まれるのだが、それを以下のコードを見せて証明しようとした

User.distinct.where('id > 1000').pluck(:city).explain

エラーが起きた。そりゃそうだ、pluckが返すのはArrayで、 Array#explain はないのだから

これうまくやりたい。pluckしたあとでもexplainでクエリ見たい

解1

pluckはクエリを発行するが、explainに必要な情報は Activerecord#Relation ? 特殊変数に入れておく。で、explainで使う

解2

pluck_explain(:city) というメソッドを生やす

解2はハックしてる感がないので1点。