DB2
DB2 逆引きWiki - 索引の一覧を確認するにはより。SYSCAT.INDEXESテーブルを直接参照すればよいらしい。 -- テスト用テーブル CREATE TABLE test ( id INTEGER NOT NULL GENERATED AS IDENTITY, code CHAR(2), name VARCHAR(254), PRIMARY KEY (id) ) in foo…
Unofficial DB2 BLOG - ORDER BYでNULLを最小に持ってくるにはを参考にさせていただいて、以下のように書いていたのだけど、 select * from A order by case when id is null then 0 else 1 end, id selectにdistinctをつけるとエラーに・・・。 $ db2 "sele…
SQLのアクセス・プランを確認する手順のメモです。ちょっとさわってみただけの簡単なメモなので詳しくは以下を参照。 DB2 リファレンス - SQL Explain 機能 @IT SQLを分析する高度なテクニック DB2逆引きリファレンス - EXPLAIN表を作成するには 概要 EXPLAI…
おとついの不具合の対応案として挙げた「外部結合を使う案」と「サブクエリを使う案」でどっちが早いか試してみた。 環境/条件等 DBはMySQLではなく実運用で使うDB2を使用。 テーブルは以下。おとついのサンプルからカラムを少し増やしてます。 create table…
DB2では、ソート時にNULL値があった場合「最大値」として扱われます。 昇順では最後に、降順では最初にきます。 Integer,Date,Timestampで実際に確認。 リファレンスでは、DB2 9.1 Information Center - 副選択の「order-by-clause」ところに記述があります。…
db2batchを使って簡単に計測できます。 $ echo "<SQL>" | db2batch -d <データベース名>具体的には次のような感じ。 $ echo "select * from hoge_table;" | db2batch -d foodb実行結果です。 ...省略(SQLの実行結果がつらつらと表示されます。) * Elapsed Time is</sql>…
またいつかはまりそうなのでメモ。 現象 サーバーを再構築したら、DB2のROW_NUMBER関数の実行でエラー(SQLSTATE: 42884)が発生するようになった。 同じバージョンのDB2を利用している他のサーバーでは正しく動作している。 同じモジュールを使用している他の…