インデックスってユニーク保証するためにあるんですか? 検索を高速化するためじゃないの? ユニーク保証はユニーク制約でするんじゃないの?
ということでググってみると、ユニーク制約とは別に、ユニーク制約の機能を兼ね備えたユニークインデックスというものがあるらしい。なんじゃそりゃ。
http://blogs.wankuma.com/naka/archive/2004/06/26/3319.aspx
http://blogs.sqlpassj.org/yoneda/archive/2004/06/26/2957.aspx
http://blogs.wankuma.com/naka/archive/2004/06/27/3350.aspx
まとめ。
Q:主キーと候補キー(ユニークキー)の違いは?
A:どちらもユニークであるという点では同じ。主キーはNULLを含まず、検索で多用する(=リレーションのためにある?)
主キーは基本的に変更しない(できないことはない)。
「一意性の保証」と「行を識別すること」は区別して考えるべき?
Q:インデックスって何?
A:検索を高速化するための索引。ユニークインデックスとユニークでないインデックスがある。
小さなテーブルでは、使うとかえってパフォーマンスが落ちることもある?
Q:ユニークインデックスとユニークキーの違いは?
A:わかんねorz