レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

データベースパフォーマンスに関する、僕が知りうる限り最高の教科書

データベースの醍醐味は、パフォーマンスチューニングにあります。
チューニングによっては、同じ処理でも1時間掛かる場合もあれば、
1秒で終わるということもあり得る世界です。


僕はDBの魅力に取り付かれた者の一人です。
DBという技術の奥深さが気に入っています。
DBを極めると、どこの現場に行っても絶対に必要とされます。
また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。


しかし、その基本原理を体系的に学べる手段はあまりありません。
OracleMasterやMCDBAといった資格試験でも学べることは限られていて
あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。

とくに肝であるパフォーマンスチューニングについては、
経験則でチューニングしている部分も多いです。
OracleSQLServerMySQLと色々なDBのチューニングをしてきましたが、
どれもRDBの理論に基いているので基本原理を知ればチューニングは可能なはずです、


しかし、その基本原理をどうやって勉強すればいいのか?と人に聞かれると
経験で学んできただけに、どうにも答えようがありませんでした。


そんな中、先日本屋で見つけたこの本は、僕にとって求めていた一冊だったといえます。

データベースパフォーマンスアップの教科書 基本原理編

データベースパフォーマンスアップの教科書 基本原理編

例えば、
「データベースリンクを使ったときの実行計画の作られ方」は僕が今直面している問題にそのものズバリの回答となっています。
また、インデックススキャンの種類や、実行計画の読み方もわかりやすく詳しいです。
「第6章 Joinの最適化」などはSQLチューニングをしたことのある人なら、必ず疑問に思うことへの見事な回答が得られるでしょう。
例えば、どの順番でテーブルをjoinさせるのが一番速いか?というような問題についてです。


これら基本原理を理解すれば、応用の幅がとても広がります。


Oracle GoldやMCDBAを目指す人には特におススメですし、
現場でDBを使わないことはないのだから、全てのエンジニアにおススメです。


お客さんが、業務アプリケーションの良し悪しを決めるポイントで速さが占める割合は大きいのだ。