は、インサートの速度とStackOverflowの上this質問についてインデックス、thisについてthisのOracleドキュメントは結論に私を導く考えてみましょう:INSERTおよびUPDATE操作でどのようにインデックスを使用するのですか?
- インデックスは私たちがより速く
- プライマリキーと一意キーが自動的に
- をインデックス化されている情報を見つけることができますインデックスを挿入すると、パフォーマンスが低下する可能性があります。
ただし、インデックスが議論されるたびにSELECT
操作を例として示します。
私の質問はです:INSERT
とUPDATE
で使用されているインデックスですか?いつ、どのように?
私の提案は、次のとおりです。
UPDATE
(句のカラムがインデックスを持っている場合)SELECT
を使用しています(ただし、この場合には、インデックスから提示されたときINSERT
がインデックスを使用することができますWHERE
句でインデックスを使用することができます別のテーブル)- またはおそらく整合性制約をチェック
が、私は、このような深いについての知識を持っていません索引を使用するかどうか。
インデックスには、テーブルに外部キーまたは他のタイプの制約がある場合にINSERTおよびUPDATE操作で使用されます。外部キーに索引を持たない場合、悪名高いTM - 競合イベントを持つことさえできます。Oracleは、作業中の表だけでなく、従属表に対しても索引を使用します。インターネットやドキュメンテーションにはたくさんの資料があるので、ここでそれについて論じるべき点はないと思う。 – stee1rat
あなたのリンク(https://docs.oracle.com/cd/E17952_01/refman-5.1-en/insert-speed.html)の1つは、Oracleではなくmysql用です。両方のデータベースのドキュメントはdocs.oracle.comにありますので、それらを混同するのは簡単です。 – Timekiller
あなたの答えをありがとう。インデックスは私が作業しているテーブルだけでは使用されないことは分かっていました。おそらく、私は何かの後ろにもっと難しいことを期待していました。 :) –