コンピュータのデータ構造やアルゴリズムの基本、一般的なRDBMSの仕組みについてした上で、(1)テーブル構造のチューニング(2)RDBMSのチューニング(MSSQL)により、データベースを快適に利用して少ないリソースで高速な処理を行なうための工夫を紹介します。
■データベースは極論すればB木のついた二次元配列
SQLはバッチ処理だ・SQLは高コストな処理
コンピュータのデータ構造(変数形式・配列形式・リスト形式・連想配列形式)
時間計算量(ステップ)と空間計算量(メモリ)
基本アルゴリズムとデータ構造によるパフォーマンスの違い
SELECT文で使われる内部処理
データ探索アルゴリズム(線形探索・リスト探索・二分探索・B木)
UPDATE/INSERT/DELETE/JOINで使われる内部処理
データソートアルゴリズム(バブルソート・マージソート・ヒープソート)
■リレーショナルデータベースの構造
SQLの処理の流れ (1)解析 (2)実行 (3)フェッチ
データベースアプリケーション
更新系プログラムと参照系プログラムの特徴
接続型アプリケーションと・非接続型アプリケーション
DBを速くするには
(1)ステップを減らせば早くなる 時間計算量
(2)メモリを減らせば早くなる 空間計算量
■テーブル構造を変更
(1)表の列数によるSQLの速度の違い
(2)表の件数によるSQLの速度の違い
(3)ビューを利用した検索処理
(4)複数表を利用した更新処理
(5)テーブル分割の効果
(6)中間表の作成の効果
(7)テーブル構造のチューニングまとめ
■SQLを工夫してみよう
(1)書き方は違うけれど同じ結果になるSQL文
(2)WHERE句の条件の書き方
(3)2つのSQL文と副問い合わせを使ったSQL文
(4)IN/ORの使い分け
(5)IN/EXISTS/NOT IN/NOT EXISTSの使い分け
(6)COUNTの動作
(7)表の別名の効果
(8)暗黙の型変換の動作
■RDBMSの管理機能を活用しよう
(1)データベースのトレース機能の利用
(2)データベースの統計機能の利用
(3)データベースの最適化機能