コメントを書きすぎると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;
- 6人の推薦記事
- 1人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- コメント(2件)
「ZDNet Japanエンタープライズモバイル Conference & Demo 2008」開催!
6月18日(水)開催。無料でご参加いただけます(事前登録が必要です)。
6月18日(水)開催。無料でご参加いただけます(事前登録が必要です)。
- 今日のトップ記事
- 2日前
- 3日前
- 4日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
Firefox
まとめ
HTML
Webアプリケーション開発
Ruby on Rails
Linux
ブラウザ
ライブラリ
PHP
Database
Java
リファレンス
入門
オープンソース
SOA
iPod touch
Apache
C/C++
XHTML
Internet Explorer
Windows
Mozilla
Python
MySQL
server
開発環境
Ruby
フレームワーク
IDE
Off Topic
Firefox 3
Apple
Ajax
Flash
Mac OS X
Microsoft
CSS
RIA
Tips
イロハ
Adobe
Eclipse
仮想化
iPhone
JavaScript
Safari
Leopard
小技
Webデザイン
Google
話題のタグを見る »
#2
Firefox 3が対応したdisplayプロパティの値(3) - inline-table
MSもアドビも学生さんに開発ソフトを無償提供
「Economist」のトップページがリニューアル
あなたがプログラムを理解できない10の理由:第2回
新APIまもなく登場--Google Developer Day 2008の見所とは?
仮想化によるコスト削減を見える化:オンラインTCOカリキュレータ
-Simplify IT- ITをシンプルに 連載第2回
リスティング広告における競争優位性の維持
内部統制対策を実現するIT運用管理ツール