タグ

2022年3月22日のブックマーク (2件)

  • SQLで高速化を考えた時にできるテクニック・コツをまとめて紹介! | ポテパンスタイル

    SQLを高速化するコツ・テクニック ここでは、SQLを高速化するための方法について次の内容を解説します。 キーワードは大文字を使う カラムの演算はしない サブクエリの引数は「EXISTS述語」を使う 「BETWEEN」は基的に使う必要なし EXISTS述語のサブクエリ内では「SELECT *」を使う 極値関数(MAX / MIN)でインデックスを活用する 行数を数えるときは「COUNT(列名)」を使う 「GROUP BY句」でインデックスを活用する 「ORDER BY句」でインデックスを活用する UNION、INTERSECT、EXCEPT には「ALL」を付ける 実はインデックスが使用されていない 行ポインタによるアクセスが最速 ワイルドカードは使わない カラム番号は使わない テーブルに別名をつける 暗黙の型変換は回避する IN述語の引数は「最もありそうなキー」を左に記述する 1つずつ

    kem95199
    kem95199 2022/03/22
  • [DB2]ペンディング状態の解除

    はじめにDB2の環境構築時に見たことのないエラーがでたので調べました。 発生したエラー出たエラーは以下のとおり。 SQL0668N 操作は、理由コード "1" のため、表 "SCHEMA.TABLE"に対して許可されません。 SQLSTATE=57016 「???」なんのこっちゃ?と思って調べてみると、エラーで示された表はSET INTEGRITY ペンディング・アクセスなしの状態で、 表の整合性が強制されておらず、 表の内容が無効である可能性があるそうです。どういう意味?直前にやっていたような作業はテーブルにデータをロードしていたくらい。。と考えて更に調べてみると、 ロード先の表に制約がある場合は、ロード完了後はチェックペンディング状態になります。 制約を有効にしてください。 というものを見つけました。確かにロードはしていたけどエラーの出るテーブルと出ないテーブルがある。。つまり制約が定

    [DB2]ペンディング状態の解除
    kem95199
    kem95199 2022/03/22