SQL

Oracle SQL、PL/SQLに関する記事になります。

2018年12月まではOracle11gXEを使用して検証しています。

2019年1月からはOracle12cを使用して検証しています。

SQL

COUNT(*)とCOUNT(1)の処理速度検証結果

SELECT COUNT(*)、COUNT(1)の処理速度検証1回目~3回目のまとめになります。 SELECT COUNT(*)、COUNT(1)の処理速度検証結果まとめ 対象テーブルのカラムが2つの場合 レコード件数 […]

SQL

COUNT(*)とCOUNT(1)の性能検証・3回目

前回から引き続き、3回目のSELECT COUNT(*)とSELECT COUNT(1)の処理速度検証を行います。 今回もレコード件数を100万件、500万件、1,000万件で各3回計測します。 前回の検証テーブルのカラ […]

SQL

COUNT(*)とCOUNT(1)の性能検証・2回目

前回から引き続き、SELECT COUNT(*)とSELECT COUNT(1)の処理速度検証を行いました。 今回はレコード件数を100万件、500万件、1,000万件で各3回ずつ計測しました。 TB_MAINテーブルの […]

SQL

統計情報の項目説明

SQLのパフォーマンスチューニングを行うには実行計画と統計情報を確認するという作業が必須になってきます。 INDEXを使ってSQLが実行されているかを実行計画で確認できます。また、SQLのコストが高い、低いも実行計画で確 […]

SQL

NOT EXISTSを使わない

OracleのSQLではNOT EXISTSという便利な命令が使用できます。NOT EXISTS句の副問合せ条件に一致しなければ結果を返却してくれます。 また、NOT EXISTS句を使わなくてもLEFT JOINで代用 […]

SQL

MINUSの注意点

MINUS(マイナス)は落とし穴があるので気を付けて下さい。 MINUSは最初のSELECT文が母数になるようです。そのため、MINUSを使ってデータの差分を抽出したい場合、データ件数が多い方のテーブルを最初にSELEC […]

SQL

MINUSを使って差分を出力する

MINUS(マイナス)の使い方になります。 2つのSELECTの出力結果を比較して、差分があるレコードを抽出してくれます。 データ移行やデータパッチ作業で作業結果を確認するために重宝します。 基本的な使い方のサンプルです […]

SQL

ALL_TAB_COLUMNS

システムの保守をしていると、テーブルのカラムサイズを拡張したいという要件が発生することが多々あります。 そういった場合、既存システムの影響機能を調査することになりますが、設計書やプログラムを地道に調査するのは手間がかかり […]