by Hayato Matsuura.

データの変更


ここまでは、参照クエリのパフォーマンスについてのみ議論してきましたが、 参照クエリだけがSQLではありません。もちろんデータの操作もサポートしています。 それぞれSQL標準の節に対応した、insertdeleteupdateの各コマンドです。これらは、「データ操作言語」 (DML)と呼ばれています。これらのコマンドのパフォーマンスに対しては、 インデックスは多くの場合ネガティブな影響を与えてしまいます。

インデックスは、純粋に冗長なデータであり、テーブルに含まれるデータしか 保存していません。書き込み操作の間、データベースはこの冗長なデータを 一貫性を持った状態に保たねばなりません。具体的に言うと、insertdeleteupdateは、 テーブルだけでなく、関係するデータを保持しているインデックスにも影響を 与えるのです。

目次

  1. 挿入 - インデックスから直接の 恩恵は得られない

  2. 削除 - where句に インデックスを使用

  3. 更新 - テーブルの全インデックスに影響を与えるわけではない

前へ次へ

著者について

Markus Winandの写真

Markus Winand氏は、開発者がSQLパフォーマンスを改善するお手伝いをしています。彼は、SQL Performance Explainedの 著者でもあり、出張トレーニングhttp://winand.at/での リモート講義も 行っています。

彼の本

カバー『SQLパフォーマンス詳解』

核心をわかりやすく 解説。

Markusから購入します
(送料無料+PDF)

Amazonで購入
(印刷版のみ)

“Use The Index, Luke!” by Markus Winand is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
法律上の通知 | 接触 | 無保証 | 商標 | Privacy | CC-BY-NC-ND 3.0 license