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

PostgreSQLのすべての最適化を無効にする方法

    できません。

    PostgreSQLのクエリプランナーには「最適化をオフにする」フラグがありません。

    追加するのは興味深いことですが、回帰テストがはるかに複雑になり、有用性が非常に限られます。

    やりたいことをするために、クエリプランナーコードを変更し、再コンパイルして、テストごとにPostgreSQLを再インストールしたいと思います。または、それをハックして、一連のカスタムGUC(enable_seqscanなどのシステム変数)を追加します。 )特定の最適化をオンまたはオフにできるようにします。

    そのようなパッチがPostgreSQLに受け入れられるかどうかは疑わしいですが、使い捨てとして行う価値はあります。

    唯一の課題は、PostgreSQLが「最適化」と「クエリを実行するために行うこと」を強く区別していないことです。プランナーコードの一部が期待する場合があります および必須 正しく機能するために特定の最適化が適用されていること。




    1. ドロップダウン選択フィールドは、あらゆる種類のインジェクションに対して脆弱ですか?

    2. SQL:テーブルBにないテーブルAのすべての一意の値を選択します

    3. 計算列でORDERBYすると、クエリが大幅に遅くなります-これを高速化できますか?

    4. 日付列のMySQL条件付きORDERBYASC / DESC