タグ

ブックマーク / thinkit.co.jp (4)

  • UPSERT(ON CONFLICT句)とGROUPING SETS句/CUBE句/ROLLUP句の実装

    今回は、PostgreSQL 9.5(以下、9.5)で実装された以下2つの機能について、実際に動かしながら紹介します。 UPSERT(ON CONFLICT句)の実装 GROUPING SETS句/CUBE句/ROLLUP句の実装 UPSERT(ON CONFLICT句)の実装 9.5ではINSERT文にON CONFLICT句が追加されました。これは一般的に「UPSERT」として知られている機能です。この句を利用すると、キー値の重複等でエラーとなっていた挿入処理を自動的に他の処理に代替して実行させることができます。 このON CONFLICT句には2つの動作を指定できます。1つはDO NOTHING句です。ON CONFLICT句にDO NOTHING句を指定すると、テーブルに挿入したい行がまだ存在しない(制約に違反する行が存在しない)場合は通常の挿入処理となります。一方、テーブルに挿入

    UPSERT(ON CONFLICT句)とGROUPING SETS句/CUBE句/ROLLUP句の実装
  • PHPUnitの概要と導入

    PHPUnitとそのメリット 連載では、PHPPHP: Hypertext Preprocessor)で実装されたプログラムの単体テストをテスト・ツール「PHPUnit」を使って行う方法について、基から実践的な利用方法までを4回にわたって紹介します。 ユニット・テスト(単体テスト)とは、プログラムの構成要素であるクラスや関数などの単位で動作を確認するためのテストです。PHPUnitを利用することで、単体テストの手順をPHPプログラムとして作成し、コマンド・ラインなどからバッチ処理的に実行することが可能になります。 PHPプログラムのテストと言えば、もっぱら人手でブラウザを操作して画面遷移を確認したり、フォームに値を入力して実行結果を目で確認したりすることが一般的だと思います。しかし、開発時に何度も同じようにページを開いて、同じようにテスト・データを入力し、結果が正しいことをすべて手動

    PHPUnitの概要と導入
  • andLinuxのインストール方法! - 【仮想化を楽しむ】andLinuxの実力拝見!

    andLinuxをインストールしてみよう 今回は実際にandLinuxをインストールして、日語環境の構築するまでを紹介します。andLinuxはandLinuxの公式サイトのダウンロードページ(http://www.andlinux.org/downloads.php)から入手することができます。 原稿執筆時点(2008年8月現在)では、2008年4月21日リリースのandLinux Beta 1が最新リリースとなっています。今回は、このバージョンをベースに紹介します。 andLinuxには「minimal / XFCE version」と「KDE version」の2つのインストーラが用意されています。「KDE version」は初期状態で豊富なKDEアプリケーションを利用することができます。用途に合わせて選択すると良いでしょう。 以下にandLinuxをインストールするにあたり、注意

    okyawa
    okyawa 2009/05/27
    colinux+Ubuntuの簡単インストール"andLinux"
  • [ThinkIT] 第3回:VACUUMの活用によるチューニング (1/2)

    VACUUMは他のデータベースにはないPostgreSQL固有のコマンドであり、使い方次第でPostgreSQLの性能を左右する重要な役割を持ちます。 PostgreSQLでは、削除や更新が行われても古い行は消えません。VACUUMコマンドは、このような古い行の中から、どのトランザクションからも参照されていない安全に再利用できる行を探して、FSM(Free Space Map)という共有メモリ上のデータ構造にその位置と大きさを記録します。追加や更新など、新しく行を追加する場合はまずFSMを検索して、新しいデータを保管するのに適当な大きさの行が見つかればそれが再利用されます(図3)。

  • 1