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

PHPPGで準備されたstatemensのクエリを理解するには

    投稿した例は意味がありません-pg_prepare() およびpg_query_params() は、通常は組み合わせて使用​​しない、さまざまな目的を持つ独立した関数です。

    pg_prepare() pg_execute()を介して後で実行するためのステートメント(クエリ)を準備します 。これは潜在的な最適化として行われます-ステートメントを連続して何度も実行する必要があることが事前にわかっている場合は、事前に準備することで、(再)準備する必要がないため、データベースサーバーでの作業を節約できます。各呼び出しのステートメント。

    pg_query_params() (およびその「より単純な」バージョンpg_query() )ステートメント(クエリ)を直接実行するだけで、関数が呼び出されるたびにデータベースサーバーにステートメントを(再)準備するように強制します。

    つまり、これは

    $result = pg_query_params($query, $params);
    

    これとまったく同じ結果が得られます

    $statement = pg_prepare($query);
    $result = pg_execute($statement, $params);
    

    唯一の違いは、2番目のケースでは、プリペアドステートメントがまだあり、pg_execute()をさらに呼び出すために再利用する準備ができていることです。 -そのため、名前を付けることができます。そうすることで、同じ接続でさまざまなプリペアドステートメントを作成し、何度でも任意の順序で実行できるようになります。




    1. このutf8文字を変換できますか?

    2. 2つの列で相関サブクエリを使用する

    3. レコードのない時間を含む、1日の時間でグループ化されたレコードを選択する方法

    4. 単一のテーブルにMergeステートメントを使用する