Oracle,SQL

Tips.6 本当にCOUNT(*)は遅いのか?COUNT(列名)は速いのか?~処理時間を計測~ では、Oracleでの count(*) 呼び出しが遅くなるという噂について検証しました。
他のDBでも同じように「count( ...

Oracle,環境構築

最近は、システム構築においてOracleが圧倒的な存在感を放つことは無く、リレーショナルデータベースだけではなく、
分析系DBやNoSQLといった様々なタイプのデータベースが利用されるようになりました。

DBを扱う ...

Oracle

SQLがある日突然遅くなる

Oracleを扱っていれば誰もが通る道です。

何故そのようなことが起こってしまうのか。
理由は一つ、「実行計画が最適なものではなくなってしまうから」です。

しかし、その対処は決 ...

Oracle,PL/SQL,パフォーマンス

SQLチューニングの方法として良くある方法に「SQLの発行回数を減らす」というのがあります。
簡単に言われますが、では具体的にどのようにしてSQLは纏められていくのでしょうか。

簡単なケースとしては、下記のような例 ...

Oracle,PL/SQL,パフォーマンス

データベースのパフォーマンス・チューニングというと、難しい印象があるのかもしれません。

「チューニングは難しいか」と問われると、正直一言では何とも答えられません。
簡単なチューニングもあれば、難しいチューニングもあ ...

Oracle,パフォーマンス

前回は、COUNT(*)が必ずしも遅いわけではないことはおわかり頂けたと思います。
もう一つ検証したいポイントがあります。
よく言われている「COUNT(*)は全表走査(FULLSCAN)になるので遅い」という点です。 ...

Oracle,パフォーマンス

SELECT文であるテーブルの件数そのものを取得したい場合に、どのようなSQLを書くでしょうか?
通常は「SELECT COUNT(*) FROM ;」だと思うのですが。。。

しかし、いろいろ調べてみると、COUN ...

共通化,設計

ここではおなじみのemp表からデータを取得し、dbms_output.put_lineでコンソールに出力するというPL/SQLコードを、カーソルを使い分けてコーディングしてみました。
それぞれ特徴があります。
最近はサ ...

Oracle,SQL,パフォーマンス

COUNT関数を使って件数を取得する際に、COUNT(*)と書く派、COUNT(1)と書く派に分かれます。

COUNT(1)と書く人は、恐らく若かりし頃に「COUNT(*)を使うと実行計画がFULLSCANになるので遅くな ...

Oracle,PL/SQL,パフォーマンス

存在チェックにCOUNTを使わない!

もう、世の中的にはPL/SQLも古い言語に含まれると思うのですが、未だ存在チェックに暗黙カーソルのCOUNTを使う人がいます。
若者ならまだしも、そこそこの単価をもらっているベテランプログラ ...