コメントを書きすぎるとPL/SQLが遅くなる?

文:Rex Baldazo(TechRepublic)
翻訳校正:原井彰弘
2008/02/15 15:22

PL/SQLのコードにコメントを書くと動作が遅くなるというのは本当なのだろうか?実験により検証してみた。

 一体どこから湧いて出たのかは知らないが、職場では「OracleのPL/SQLパッケージにコメントを書きすぎると、パフォーマンスに影響を及ぼす」といううわさが蔓延している。つまり、コードにコメントを書くほど動作速度が遅くなるというのだ。

 PL/SQLが逐一解釈されるというのならば、まだ理解できる。なぜなら、コメントもインタプリタによって読み取られるので、それがパフォーマンスに影響を与える可能性はあるからだ。しかし、PL/SQLはデータベース内でコンパイルされるのである。だから、私はなぜコメントが問題になるのか理解できない。

 真実を明らかにする方法は一つしかない。そう、実験を行うのである。そこで、MythBusters(※訳注:米Discovery Channelで放送されているテレビ番組)を精一杯真似し、実験を試みることにした。

 まずは、TABLE1という名前(申し訳ない。怠け者なので、SQLDeveloperでのデフォルトのテーブル名をそのまま使ってしまった)のテーブルの作成から行おう。テーブルには、メソッドの名前を格納するためのvarcharと、開始時刻と終了時刻を格納する2つのtimestampフィールドの、合計3つのフィールドを作成した。DDLは以下のようになる。

create table TABLE1
  (  methodname VARCHAR2(255 BYTE),
     starttime TIMESTAMP (6),
     endtime TIMESTAMP (6)
   )

 続いて、2つのメソッドを持つパッケージを作成した。どちらのメソッドに含まれているコードも簡単なもので、その内容は同一だ。以下に、コメントを含まないバージョンのコードを示そう。

procedure comments_n AS
    counter integer := 0;
    starttime timestamp;
  BEGIN
    starttime := current_timestamp;    

    while counter < 9999999 loop
      counter := counter + 1;
    end loop;    

    insert into Table1(methodname, starttime, endtime)
    values ('comments_n', starttime, current_timestamp);    

    commit;    

  END comments_n;
  • コメント(2件)

#1 chihiro.ishizaw  - 2008/02/19 10:15:21

オブジェクト名を大文字で統一すると早くなる!という都市伝説?もあり... 続きを見る
» 不適切なコメントを報告する

#2 大野晋一  - 2008/02/19 10:43:45

大文字!マジですか。いろいろあるのか……
» 不適切なコメントを報告する
記事の感想やご意見をコメントでお寄せください(CNET_IDログインが必要です)
ログイン パスワードを忘れた方  |  新規登録
  • 新着記事
  • 人気記事
  • 特集
  • ブログ