11章データベースのベストプラクティス

この章では、データベースを扱うJavaアプリケーションのパフォーマンスについて考察します。データベースへのアクセスによって、Javaとは関係のないパフォーマンス上の問題が発生するかもしれません。例えば入出力がボトルネックになっているデータベースや、インデックスがないためにSQLクエリがテーブル全体のスキャンを引き起こしたといった場合には、Javaの側でどんなにコードを改良したりチューニングを施したりしても問題は解決しません。データベースを扱うなら、他の資料も読んでデータベースのチューニングやプログラミングについて学ぶべきです。

もちろん、データベースを利用するアプリケーションのパフォーマンスにとってJVMやJava関連のテクノロジーは無関係だというわけではありません。よいパフォーマンスのためには、データベースと呼び出し元のアプリケーションがともに正しくチューニングされ、コードも正しく記述されている必要があります。

サンプルデータベース

この章で利用するサンプルのデータベースには、128銘柄の1年分の株価が格納されています。1年間のうち市場が開いていたのは261日でした。

各銘柄の株価はSTOCKPRICEというテーブルに格納されます。このテーブルの主キーはストックシンボルと日付であり、行数は33,408(128×261)です。

また、それぞれの銘柄には5つの付加的な値が日ごとに追加されています。この情報はSTOCKOPTIONPRICEテーブルに保持されます。主キーはストックシンボルと日付そして値の種別を表す整数値です。行数は167,040(128×261×5)です。

11.1 JDBC

この章では、JPA(Java Persistence ...

Get Javaパフォーマンス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.