mixiユーザー(id:17119814)

2015年06月17日07:18

366 view

データベース(4)

インデックスは日本語にすると索引だ。分厚い本、百科事典なんかだと索引が無いと目的
のページにたどり着くのが大変である。データベースのインデックスも同じようなもので
目的のデータにたどり着くのを高速化するのに大いに貢献するものだ。

主キー以外にも、検索の条件に良く使われるカラムにはインデックスを作成しておく。こ
うすることでデータベースのパフォーマンスが上がる。逆に多用される検索条件がインデ
ックスにあたらないものだと全件サーチになってしまいパフォーマンスが落ちる。

データベースのパフォーマンスが悪ければ、システム全体のレスポンスが低下する。この
データベースの劣悪パフォーマンスを招く要因は主に3つ考えられる。1つは物理設計が
タコ。2つ目は論理設計がタコ。3つ目はSQLがタコ、である。

しかも往々にしてあるのは、この3つ全てに該当しているシステムだ。まあ確かに、タコ
な物理設計をする会社は論理設計もタコだろうし、作るSQLもタコであることがほとん
どだ。こういう連中は、仕様書に書いてあるビジネスロジックを忠実に再現することしか
考えていない。

確かにそれは重要だが、それが全てではない。というよりも、ビジネスロジックを忠実に
再現するなんてことは初歩の初歩である。それはスタートであってゴールではない。デー
タがごくわずかしか入っていないテスト用のデータベース環境でテストをし、仕様通りに
動いたからといって完成した、などと思ってもらっては困るというものだ。

本番環境の規模のデータベース上で、きちんと使い物になる速度で業務が実行できて初め
てアプリケーションソフトウェアと呼べるのである。ここんところを理解していない連中
が実に多い。
0 1

コメント

mixiユーザー

ログインしてコメントを確認・投稿する