sql >> データベース >  >> RDS >> PostgreSQL

ORDER句とLIMIT句を使用した非常に遅いPostgreSQLクエリ

    LIMITとORDERBYの両方がある場合、オプティマイザーは、残りの基準で5つの一致が得られるまで、キーを降順でfooのフィルター処理されていないレコードをリンプする方が速いと判断しました。それ以外の場合は、クエリをネストされたループとして実行し、すべてのレコードを返します。

    問題は、PGがジョイントを動かさないことだと思います。 さまざまなIDの配布であり、それが計画が最適ではない理由です。

    考えられる解決策について:最近ANALYZEを実行したと仮定します。そうでない場合は、そうしてください。それはあなたの推定時間が速く戻るバージョンでさえ高い理由を説明するかもしれません。問題が解決しない場合は、おそらくORDER BYを副選択として実行し、外部クエリでLIMITを叩きます。



    1. 'the'を無視するカスタムORDERBY

    2. mySQL各カテゴリの上位5つを返す

    3. ProxySQL入門-MySQLとMariaDBの負荷分散チュートリアル

    4. 実体関連図のカーディナリティを理解しようとしていますか?