- PR -

ユニークインデックスとノンユニークインデックス

1
投稿者投稿内容
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2008-10-07 22:55
ユニークインデックスとノンユニークインデックス
の違いについて教えていただけませんでしょうか?

ただ単にインデックスを張りたい、だけでもそこのカラムが
ユニークな値をもつカラムではない
そんな場合に使うだけのものなのでしょうか?

使用した場合の性能比も違うのでしょうか?
(たとえば ユニークな値をもつカラムに対して
ユニークを張った場合と ノンユニークを張った場合でレスポンスが違うのか)
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-10-08 00:15
ユニークインデックス=値の重複を許可しない。
ノンユニークインデックス=値の重複を許可する。

ユニークインデックスとノンユニークインデックスの検索性能はどうかな?
ユニークインデックスの場合には該当がある場合に1件しかないからね。

引用:

Kiraさんの書き込み (2008-10-07 22:55) より:
(たとえば ユニークな値をもつカラムに対して
ユニークを張った場合と ノンユニークを張った場合でレスポンスが違うのか)



そもそもそんなインデックスの作成はしませんけど。
忠犬
大ベテラン
会議室デビュー日: 2006/05/01
投稿数: 109
投稿日時: 2008-10-08 09:40
引用:

ユニークな値をもつカラムに対して
ユニークを張った場合と ノンユニークを張った場合



誰がユニークであることを保証し、DDL上は重複を許すのに「実際のデータは重複しない」ことを、RDBMSにどうやって知らせるのですか?

インデクスは、以下のような処理で利用されます。

(1)データの絞込み
(2)重複チェック
(3)「order by」、「group by」、「distinct」などソートが必要となる処理で、作業ファイルなどを使用したソートの発生を抑止

ユニークインデクスなら、データの格納や更新時に、インデクスを使用して重複チェックが行なわれます。重複可のインデクスであれば、重複チェックは発生しませんが、その代わりRDBMS側でユニークであることは保証されません。
1

スキルアップ/キャリアアップ(JOB@IT)