Oracle

SQLがある日突然遅くなる

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

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

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

Oracle, Python

PythonからOracleデータベースに接続セットアップ概要

PythonからOracleに接続するには、”cx_Oracle”を使用します。
cx_Oracle はpipでインストールすることが出来ま ...

Oracle, PL/SQL

RDBにおける日付型

データベースを操作するための言語であるSQLは標準化されており、概ねどのデータベースエンジンでも同じようなSQLが実行可能です。
データ型についても、大きくは数値(int,float,deciaml等)、文 ...

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

マテビューとは?!

 正しくは「マテリアライズド・ビュー(MATERIALIZED VIEW)」と呼びます。
 通常のビュー(VIEW)というオブジェクトは、実体を持たず、SQLの定義があるだけですが、マテリアライズド・ビューは ...

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, 共通化

基本的にPL/SQLには言語仕様として定められた命名ルールはありません。
Oracleからも命名は強制されていません。
(それどころか、Oracle謹製の開発ツールであるSQL*Developer初期設定と、Oracl ...