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で購入
(印刷版のみ)

Do not use offset for pagination

Learn why

Visit my sibling!A lot changed since SQL-92!

Use The Index, Luke のカップは

ステッカー、コースター、本、コーヒーマグ。 学習に必要なものすべて。

今すぐ購入

Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter
“Use The Index, Luke!” by Markus Winand is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
法律上の通知 | お問い合わせ | 無保証 | 商標 | プライバシーとGDPR | CC-BY-NC-ND 3.0 license