Ketika Anda memiliki LIMIT dan ORDER BY, pengoptimal telah memutuskan lebih cepat untuk menelusuri catatan yang tidak difilter pada foo dengan kunci menurun hingga mendapatkan lima kecocokan untuk kriteria lainnya. Dalam kasus lain, itu hanya menjalankan kueri sebagai loop bersarang dan mengembalikan semua catatan.
Begitu saja, saya akan mengatakan masalahnya adalah bahwa PG tidak menyentuh sendi distribusi berbagai id dan itulah sebabnya rencananya sangat kurang optimal.
Untuk solusi yang memungkinkan:Saya akan berasumsi bahwa Anda telah menjalankan ANALYZE baru-baru ini. Jika tidak, lakukan. Itu mungkin menjelaskan mengapa perkiraan waktu Anda tinggi bahkan pada versi yang kembali dengan cepat. Jika masalah berlanjut, mungkin jalankan ORDER BY sebagai subpilihan dan tempelkan LIMIT di kueri luar.