SQLパフォーマンス詳解

開発者のための解説書

SQLパフォーマンスに関する本は、どれも分厚くて難解でした。

あらゆる知識が詰まった数百ページ…
…でもその多くは開発者には関係ないこと。

SQLパフォーマンス詳解は、開発者が知るべきことに焦点を絞っています。

たった200ページですが…
…主要なデータベース全てをカバーしています。

(PayPalでの支払い、送料無料)

削除


印刷版をアマゾンで購入

(ソフトカバー版のみ)

読者の声

「初心者からエキスパートまで役に立つ内容です。特に駆け出しのエンジニアは持っておくといい」 (Hiroaki Sano)

「インデックスとそれを使ったSQLのチューニング、その後ろにある仕組みを簡潔に説明している点が素晴らしいと思ったのが翻訳のきっかけでした」 (松浦隼人)

目次

  1. 前書き

  2. インデックスの 内部構造

    1. インデックス リーフノード

    2. 検索 ツリー(Bツリー)

    3. 遅いインデックス パートI

  3. where 句

    1. 等価 演算子

      1. プライマリキー

      2. 複合インデックス

      3. 遅いインデックス パートII

    2. 関数 - where

      1. 大文字・小文字を区別する 検索

      2. ユーザ定義 関数

      3. インデックスの作り過ぎ

    3. パラメータ化 クエリ

    4. 範囲 検索

      1. 大なり、小なり、 BETWEEN

      2. LIKEフィルタに 対するインデックス

      3. インデックスの結合

    5. 部分インデックス

    6. OracleにおけるNULL

      1. NULLに対する インデックス

      2. NOT NULL 制約

      3. 部分インデックスを エミュレートする

    7. 処理しにくい条件

      1. 日付型

      2. 数値文字列

      3. 列の連結

      4. スマートなロジック

      5. 数式

  1. パフォーマンスと スケーラビリティ

    1. データ 量

    2. システム 負荷

    3. レスポンス タイムとスループット

  2. 結合 処理

    1. 入れ子 ループ

    2. ハッシュ 結合

    3. ソートマージ 結合

  3. データの クラスタリング

    1. フィルタ述語の意図的な使用

    2. インデックスのみのスキャン

    3. 索引構成 表

  4. ソートと グルーピング

    1. インデックスを使った Order by

    2. ASC/DESCと NULL FIRST/LAST

    3. インデックスを使ったGroup By

  5. 部分 結果

    1. 最初のN行のみの 選択

    2. 次ページの 取得

    3. 窓関数

  6. 挿入、削除、 更新

    1. 挿入

    2. 削除

    3. 更新

  7. 実行計画

他の本の著者が語るSQLパフォーマンス詳解

“This book is definitively worth having in the company library” (Joe Celko on i-programmer.info)(Joe Celko helped write the SQL standard)

Troubleshooting Oracle Performance (2nd ed)(Christian Antognini)

Accelerating MATLAB Performance: 1001 tips to speed up MATLAB programs (Yair M. Altman)

Relational Database Design and Implementation(Jan L. Harrington)

High-Performance Java Persistence(Vlad Mihalcea)

Google Scholar search reveals that there are some academic papers referencing to SQL Performance Explained (Google Scholar search)

ブログに掲載された書評

読者によってはより詳しい書評をブログで公開しています。

“A Rosetta stone for SQL query tuning.” (Sean Hull on his blog)

“SQL part of your work? Read SQL Performance Explained” (Honza Horak on his blog)

“The number of new questions you post to stackoverflow.com may drop significantly.” (Michał Kołodziejski on the Vertabelo blog)

“…a ton of useful information for developers…” (Denis Gobo on his blog)

“It was a pleasure for me to read SQL Performance Explained” (Dani Schnider on his blog)

“…best SQL related book I’ve read so far…” (Philip Riecks on his blog)

“I wish I had read this book a long time ago” (Andrew Cooke on his blog)

“Oh I really love it and I learned so many things in one week!” (Andrew Marcinkevičius on his blog)

“A wonderful book…I highly recommend it.” (Anders Janmyr on his blog)

“It is a short book … I personally love this - because the author has focused on what is important…” (Morgan Tocker on his blog)

“If you haven’t read it yet, order it right now! You won’t be disappointed” (Petri Kainulainen on his blog)

既にPDFを購入済みですか?

既にSQLパフォーマンス詳解のPDF版を購入済みなら、再ダウンロードが可能です。最高かつ最新バージョンのリンクをメールで受け取れます。

著者について

マークス・ウィナンド (Markus Winand)氏は、1998年からSQLアプリケー ションの開発を続けてきました。主な専門分野としては、パフォーマンス、 スケーラビリティ、信頼性などの他、ソフトウェアの品質に関するあらゆる トピックを含みます。現在は、オーストリアのウィーンを拠点として、開発 者の指導や講演活動を行っています。

https://winand.at/

翻訳者について

@dblmktこと松浦隼人は、ITインフラの分野で様々なキャリアを経験し、 日々データベースなどのミドルウェアと格闘しています。 英語と日本語との情報量の格差をできる限り小さくしたいという思いから、 本業のかたわら海外のブログや書籍の翻訳を行なっています。

https://yakst.com/ja

https://b.l0g.jp/

Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter