SELECT COUNT(*)、COUNT(1)の処理速度検証1回目~3回目のまとめになります。 SELECT COUNT(*)、COUNT(1)の処理速度検証結果まとめ 対象テーブルのカラムが2つの場合 レコード件数 […]
SQL
Oracle SQL、PL/SQLに関する記事になります。
2018年12月まではOracle11gXEを使用して検証しています。
2019年1月からはOracle12cを使用して検証しています。
COUNT(*)とCOUNT(1)の性能検証・3回目
前回から引き続き、3回目のSELECT COUNT(*)とSELECT COUNT(1)の処理速度検証を行います。 今回もレコード件数を100万件、500万件、1,000万件で各3回計測します。 前回の検証テーブルのカラ […]
COUNT(*)とCOUNT(1)の性能検証・2回目
前回から引き続き、SELECT COUNT(*)とSELECT COUNT(1)の処理速度検証を行いました。 今回はレコード件数を100万件、500万件、1,000万件で各3回ずつ計測しました。 TB_MAINテーブルの […]
COUNT(*)とCOUNT(1)の性能検証・1回目
SELECT COUNT(*)は処理速度が遅くなるから、SELECT COUNT(1)を使った方が良いと聞きます。 SELECT COUNT(*)で全カラムを指定するよりも、SELECT COUNT(1)を使って、Pra […]
統計情報の項目説明
SQLのパフォーマンスチューニングを行うには実行計画と統計情報を確認するという作業が必須になってきます。 INDEXを使ってSQLが実行されているかを実行計画で確認できます。また、SQLのコストが高い、低いも実行計画で確 […]
NOT EXISTSとLEFT JOINの処理速度検証
前回の記事でNOT EXISTSはLEFT JOINで実現できると紹介しましたが、どちらの方が速いのか、検証してみました。
NOT EXISTSを使わない
OracleのSQLではNOT EXISTSという便利な命令が使用できます。NOT EXISTS句の副問合せ条件に一致しなければ結果を返却してくれます。 また、NOT EXISTS句を使わなくてもLEFT JOINで代用 […]
MINUSの注意点
MINUS(マイナス)は落とし穴があるので気を付けて下さい。 MINUSは最初のSELECT文が母数になるようです。そのため、MINUSを使ってデータの差分を抽出したい場合、データ件数が多い方のテーブルを最初にSELEC […]
MINUSを使って差分を出力する
MINUS(マイナス)の使い方になります。 2つのSELECTの出力結果を比較して、差分があるレコードを抽出してくれます。 データ移行やデータパッチ作業で作業結果を確認するために重宝します。 基本的な使い方のサンプルです […]
ALL_TAB_COLUMNS
システムの保守をしていると、テーブルのカラムサイズを拡張したいという要件が発生することが多々あります。 そういった場合、既存システムの影響機能を調査することになりますが、設計書やプログラムを地道に調査するのは手間がかかり […]
最近のコメント