PostgreSQLに大量のデータを登録する際はINSERTを使って一件づつ処理するより、COPYを使って一気に登録した方が実行速度が(かなり)速いです。 そこでPHPでもCOPY文を使ってみましょう。 pg_copy_fromを使う 登録するデータが配列に入っているならpg_copy_fromだけで一気に処理できます。 配列の1要素が1レコードに対応しています。1要素内では各カラムをデリミタ(デフォルトは”\t”)で連結します。 <?php $values = array(); $values[] = "1\tname1"; $values[] = "2\tname2"; $values[] = "3\tname3"; $db = pg_connect("dbname=hogedb"); pg_copy_from($db, 'table',
PostgreSQLでは様々な言語を使ってユーザー定義関数(他のDBMSでは「ストアド・プロシジャ」と呼ばれている)を書くことができるだけでなく,任意の言語のユーザー定義関数を書く枠組み(言語ハンドラ)をユーザーが自由に追加できる。このメリットを生かし,PostgreSQLウォッチ第5回で紹介したPL/Javaをはじめ,PL/Rubyなど,様々なものが開発されている。 今回紹介するのはWeb記述スクリプト言語で有名なPHPでストアド・プロシジャが書けるPL/PHPである。 筆者を始め,特にPostgreSQLのユーザーには昔からPHPのファンが多い。PHPの豊富な機能がストアド・プロシジャとして使えるのであれば,それだけでもメリットがある。 さらにアプリケーション用に作成した関数がストアドプロシジャで使えるようになれば,無駄な開発を減らしたり,過去の資産を活かすことができる利点も期待できる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く